如何使用Pandas将巨大的CSV转换为SQLite?
发布时间:2020-12-12 23:43:05 所属栏目:百科 来源:网络整理
导读:我有一个存档的CSV文件形式的巨大的表(约60 GB).我想将其转换为SQLite文件. 我现在做的如下: import pandasimport sqlite3cnx = sqlite3.connect('db.sqlite')df = pandas.read_csv('db.gz',compression='gzip')df.to_sql('table_name',cnx) 它适用于较小的
我有一个存档的CSV文件形式的巨大的表(约60 GB).我想将其转换为SQLite文件.
我现在做的如下: import pandas import sqlite3 cnx = sqlite3.connect('db.sqlite') df = pandas.read_csv('db.gz',compression='gzip') df.to_sql('table_name',cnx) 它适用于较小的文件,但有巨大的文件,我有内存问题.问题是pandas将整个表读入内存(RAM),然后将其保存到SQLite文件中. 这个问题有优雅的解决方案吗? 由于它的大小,这对熊猫来说会有问题.任何原因你不能使用csv模块并只是遍历文件.基本想法(未经测试): import gzip import csv import sqlite3 with gzip.open('db.gz') as f,sqlite3.connect('db.sqlite') as cnx: reader = csv.reader(f) c = cnx.cursor() c.executemany('insert into table_name values (?,?,...)',reader) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |