2015-12-16 58 views
0

我正在嘗試使用pandas.read_csv讀取大型且複雜的CSV文件。 確切命令是熊貓:讀取CSV:ValueError:無法將字符串轉換爲浮點數

pd.read_csv(文件名,quotechar = '「',low_memory =真,D型細胞= data_types,usecols =列,true_values = [ 'T'],false_values = [ 'F'])

我敢肯定的是,數據類型是正確的。我可以讀前16萬線(設置NROWS = 16000000),沒有問題,但在此之後的某個地方,我得到以下錯誤

ValueError: could not convert string to float: '1,123'

,因爲它似乎,由於某種原因熊貓認爲兩列將是一個。

可能是什麼問題?我該如何解決它?

+0

它是否缺少該行數據中的預期分隔符? – Dan

+1

您是否已經對引發錯誤的行進行了目測檢查?或者,您能否向我們提供該行+/- 1行(總共三行)? –

+0

如果丟失一些數據不是一個問題,你可能會添加'error_bad_lines = False'以跳過有問題的行 –

回答

0

我發現了這個錯誤。問題是千分之一。

編寫CSV文件時,大多數數字都低於千分之一,並且已正確寫入CSV文件。然而,這一值超過了千分之一,它被寫爲「1,123」,大熊貓沒有將其識別爲一個數字,而是一個字符串。

相關問題