懒惰加载csv与熊猫

时间:2014-12-31 07:31:10

标签: python csv pandas

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

1 个答案:

答案 0 :(得分:3)

对于少量行尝试使用linecache并手动创建pandas DataFrame。

例如,以下代码将第12,24和36行(1索引)放入DataFrame中。

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)