簡體   English   中英

Python Pandas:帶有 chunksize 和 concat 的 read_csv 仍然拋出 MemoryError

[英]Python Pandas: read_csv with chunksize and concat still throws MemoryError

我正在嘗試根據條件(列的值(地理 = 安大略))從 10GB ~3500 萬行 csv 文件中提取某些行到新的 csv 中。 它運行了幾分鍾,我可以看到我的可用硬盤空間從 14GB 耗盡到基本上為零,然后出現 MemoryError。 我認為 chunksize 在這里會有所幫助,但它沒有:(請告知。

import pandas as pd
df = pd.read_csv("Data.csv", chunksize = 10000)
result = pd.concat(df)
output=result[result['Geography']=='Ontario']
rowcount=len(output)
print(output)
print(rowcount)
output.to_csv('data2.csv')

你可以試着分塊寫。 大致:

df = pd.read_csv("Data.csv", chunksize = 10000)
header = True
for chunk in df:
    chunk=chunk[chunk['Geography']=='Ontario']
    chunk.to_csv(outfilename, header=header, mode='a')
    header = False

想法來自這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM