用熊猫延迟加载 csv



我有一个巨大的 22 GB csv 文件,其中包含一个 10000 x 10000 个条目的矩阵。但实际上我只需要一小部分文件,它可以很好地适合我的 4 GB 内存。 无论如何,是否有延迟将CSV加载到我的系统,以便我只需要选择文件中的一些非传染性部分,例如25个不同的特定行。我听说过熊猫中的iterator可以逐个加载数据,但仍然不确定它的内存要求。

对于少量行,请尝试使用行缓存并手动创建 pandas 数据帧。

例如,下面的代码将第 12、24 和 36 行(索引为 1 行)放入数据帧中。

import linecache
from pandas import DataFrame
filename = "large.csv"
indices = [12,24,36]
li = []
for i in indices:
    li.append(linecache.getline(filename, i).rstrip().split(','))
dataframe = DataFrame(li)

最新更新