python - 如何在读取大 csv 文件时解决 pandas 的内存问题

标签 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 文件吗?

最佳答案

演示:

for chunk in pd.read_csv(filename, chunksize=10**5):
    chunk.to_sql('table_name', conn, if_exists='append')

其中 conn 是一个 SQLAlchemy 引擎(由 sqlalchemy.create_engine(...) 创建)

关于python - 如何在读取大 csv 文件时解决 pandas 的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39398283/

相关文章:

python - 使用基于类的(通用) View 在 Django 中重定向

python - 如何使用 Python RegEx 切换字符串中的两个元素?

Python - 如何将 Panda 中的元素从列表转换为字符串

python - 如何在 Pandas 的条件下进行减法

python - 从循环中创建值列表

python - Numpy 随机选择,仅沿一个轴替换

从 CSV 批量加载 java derby 数据库

c# - 在不使用逗号字符的情况下在 CSV 中显示逗号

C++如何读取文件并解析逗号分隔值

python - 类型错误 : <lambda>() takes at least 2 arguments (1 given)