[英]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.