分块加载csv文件

时间:2018-11-28 06:17:38

标签: python pandas

我有data set的2.5 GB,其中包含数千万行的数据

我正在尝试加载数据

 %%time
 import pandas as pd
 data=pd.read_csv('C:\\Users\\mahes_000\\Desktop\\yellow.csv',iterator=True,
                  chunksize=50000)

在我得到块大小部分的倍数的地方,我正在尝试做一些操作,例如

 %%time
 data.get_chunk().head(5)
 data.get_chunk().shape
 data.get_chunk().drop(['Rate_Code'],axis=1)

对于操作,它选择任何一个块大小的部分并对其进行所有操作。 那剩下的部分呢? 如何在没有内存错误的情况下对完整数据进行操作。

1 个答案:

答案 0 :(得分:2)

来自文档中有关参数chunksize的信息:

  

返回TextFileReader对象进行迭代

因此,通过将对象放入循环中,您将迭代读取chunksize中指定的块中的数据:

chunksize = 5e4
for chunk in pd.read_csv(filename, chunksize=chunksize):
    #print(chunk.head(5))
    #print(chunk.shape())