【发布时间】:2017-01-16 02:55:44
【问题描述】:
我想将文件 f(文件大小:85GB)分块读取到数据帧中。建议使用以下代码。
chunksize = 5
TextFileReader = pd.read_csv(f, chunksize=chunksize)
但是,这段代码给了我 TextFileReader,而不是数据框。另外,由于内存限制,我不想连接这些块以将 TextFileReader 转换为数据帧。请指教。
【问题讨论】:
-
对不起,你在这里问什么?您无法将整个数据帧加载到内存中,这就是您读取块的原因,那么为什么您认为连接所有块可以解决这个问题?
-
将它们存储在列表中!??我没有得到你真正想要达到的目标。你想单独拥有这些块吗?请注意,您的
TextFileReader是一个可迭代对象,您可以在其中通过for chunk in TextFileReader检索各个块 -
您可以使用 for 循环(块大小),在每次迭代中,您将为每个块获得一个数据帧。循环将运行五次,您可以在最后合并所有数据帧。
-
所以如上所述循环遍历
TextFileReader并处理任何你想要的块(减少它们,分组它们,......)
标签: python csv pandas dataframe chunks