2
我有一個巨大的22 GB csv文件,其中包含矩陣10000 x 10000條目。但實際上我只需要一小部分文件來達到我的目的,這可以很好地適應我的4 GB內存。無論如何要延遲加載CSV到我的系統,以便我只需要選擇文件的一些非傳染性部分,說25個不同的特定行。我聽說熊貓的iterator
是一塊一塊地加載數據,但我仍然不確定它的內存需求。延遲加載csv與熊貓
我有一個巨大的22 GB csv文件,其中包含矩陣10000 x 10000條目。但實際上我只需要一小部分文件來達到我的目的,這可以很好地適應我的4 GB內存。無論如何要延遲加載CSV到我的系統,以便我只需要選擇文件的一些非傳染性部分,說25個不同的特定行。我聽說熊貓的iterator
是一塊一塊地加載數據,但我仍然不確定它的內存需求。延遲加載csv與熊貓
對於少數線路,請嘗試使用linecache並手動創建熊貓數據幀。
例如,以下代碼將第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)
有許多的選擇,如'nrows','chunksize','skiprows'應該做你想要什麼,看文檔:http://pandas.pydata.org/pandas-docs/穩定/ io.html#IO-讀CSV表 – EdChum