columns = ['molecule_id', 'charge', 'db', 'drugsnow', 'hba', 'hbd', 'loc',
    'nrb', 'smiles']
nlines = subprocess.check_output('wc -l %s' % in_csv, shell=True)
nlines = int(nlines.split()[0])
cnx = sqlite3.connect(out_sqlite)
for i in range(0, nlines, chunksize):
    df = pd.read_csv(in_csv, header=None, nrows=chunksize, skiprows=i)
df.columns = columns
sql.to_sql(df, name=table_name, con=cnx, index=False, index_label=
    'molecule_id', if_exists='append')
cnx.close()
Большой, постоянный DataFrame в пандах