2016-11-05 71 views
0

我想讀熊貓使用seeds dataset。當加載使用文件:令人困惑的熊貓read_table錯誤

df = pd.read_table("seeds_dataset.txt", header=None) 

我得到:

CParserError: Error tokenizing data. C error: Expected 8 fields in line 8, saw 10 

現在,加載與Excel文件,我需要指定標籤和空間,在同一時間分隔符,以正確讀取文件在第8行,這是熊貓無法完成的事情(據我所知)。 Sublime Text直接精確讀取文件。

我不想跳過error_bad_lines的壞行,因爲它們沒有任何問題。我也用lineterminator沒有成功。

回答

0

嘗試選項「delim_whitespace」。

df = pd.read_table("seeds_dataset.txt", header=None, delim_whitespace = True) 

編輯:更詳細的解釋:

方法簽名read_tablehere。它有各種選項,其中之一是sep。這定義了字段之間的分隔符,其默認值是'\ t'(製表符)。一種解決方法是更改​​sep參數。 pandas解析器的python實現允許您使用正則表達式分隔符,因此sep = "\\s+"將分隔任意數量的空白。然而,C語法分析器(它看起來像你從錯誤信息中使用的)不允許你使用正則表達式。它確實有delim_whitespace選項,但是,它完全符合您的需求!

+0

感謝您的回答,您能解釋一下爲什麼使用'delim_whitespace'工作嗎?我對知道問題的起源更感興趣 – Valilutzik