首页 > 解决方案 > 使用 Pandas 读取大型 CSV 文件会冻结计算机

问题描述

我正在使用 Python 中相对较大的 CSV 文件。我正在使用 pandasread_csv函数来导入它。数据位于工作中的共享文件夹中,大小约为 25 GB。

我有 2x8 GB RAM 和 Intel Core i5 处理器并使用 juypter 笔记本。加载文件时,RAM 监控上升到 100%。它保持在 100% 或 96% 几分钟,然后我的计算机时钟停止,我的屏幕被冻结。即使我等待 2 个小时,我的计算机也无法再使用,所以我必须重新启动。

我的问题是:我需要拆分数据吗?这会有帮助吗?还是我的笔记本电脑的一般性能问题?

这是我第一次使用如此“大”的数据集(我仍然认为 25 GB 并不算多。)

标签: pythonpandascsv

解决方案


对于大文件,pandas 可以分块读取。

chunksize = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunksize):
    process(chunk)

推荐阅读