如何在阅读大型csv文件时解决熊猫的内存问题

时间:2016-09-08 18:54:36

标签: python csv pandas dataframe iterator

我有一个包含数百万行的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文件吗?

1 个答案:

答案 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(...)创建)