2016-03-16 47 views
1

我正在處理具有19090680行的數據集。這是超過1900萬。如果我將塊大小設置爲10 ** 6,我的代碼將運行兩次。這是200萬行在終止之前處理的。如果我將chunksize設置爲1000,則在退出for-loop之前,我會處理19087680行。這仍然留下了3000行未處理。任何想法爲什麼?帶有塊大小的熊貓read_csv正在跳過數據

這是我的代碼。

cs = 1000 
reader = pd.read_csv(file, delimiter='|', header=None, iterator=True, chunksize=cs) 
chunkCount = 0 
for chunk in reader: 
    processedSeries = chunk.apply(process, axis=1) 
    processedSeries.to_csv("processed_data.csv", index=False, sep='|', header=None, mode='a') 

編輯:我有熊貓0.17.1-np110py35_0 我在更新,看看這是否會解決這個問題的過程。

+0

爲什麼您的代碼在第一種情況下僅處理了200萬行後終止?難道它會在第二種情況下以相同的原因結束(但晚得多)? – IanS

+0

@Is這正是我的困境。它似乎在不同的條件下過早退出讀者。這兩種不同的塊將讀取器終止在文件中的兩個單獨位置,以便不清楚地表明我正在處理的文件存在任何問題。 –

回答

0

升級到熊貓0.18.0解決了這個問題。