1
我寫了一個小的簡單腳本來讀取和處理一個巨大的CSV文件(〜150GB),每個循環讀取5e6行,將其轉換爲Pandas DataFrame,它,然後繼續閱讀接下來的5e6行。使用熊貓迭代大csv(不使用塊)
雖然它做了這項工作,但在每次迭代中,找到要讀取的下一塊行需要更長的時間,因爲它必須跳過更多行。 我讀了很多有關使用chunk(作爲讀取器迭代器)的答案,儘管一旦讀取了塊,我就需要連接塊來創建一個DataFrame(包含所有與截斷行和東西有關的問題),所以我寧願不走那條路。
是否可以使用某種光標來提醒read_csv函數從它停止的位置開始讀取?
代碼的主要部分是這樣的:
while condition is True:
df = pd.read_csv(inputfile, sep=',', header = None, skiprows = sr, nrows = 5e6)
# do something with df
sr = sr + 5e6
# if something goes wrong the condition turns False
沒錯!我曾嘗試使用chunksize參數,但由於某些原因,它在將其轉換爲DataFrame時無法正常工作。 非常感謝! – Pullo86