懒惰加载csv与熊猫

Amr*_*hna 6 python csv pandas

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

Kda*_*awg 5

对于少量行,请尝试使用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)
Run Code Online (Sandbox Code Playgroud)