我有一个包含数百万行的100GB csv文件。我需要在pandas数据帧中一次读取10,000行,然后以块的形式将其写入SQL服务器。
我按照http://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk的建议使用了chunksize和iteartor,并且经历了许多类似的问题,但我仍然遇到了内存不足错误。
你能建议一个代码来迭代地读取pandas数据帧中非常大的csv文件吗?
答案 0 :(得分:1)
演示:
for chunk in pd.read_csv(filename, chunksize=10**5):
chunk.to_sql('table_name', conn, if_exists='append')
其中conn
是SQLAlchemy引擎(由sqlalchemy.create_engine(...)
创建)