91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pandas中read_csv()讀取文件跳過報錯行怎么辦

發布時間:2020-08-01 11:37:03 來源:億速云 閱讀:905 作者:小豬 欄目:開發技術

小編這次要給大家分享的是Pandas中read_csv()讀取文件跳過報錯行怎么辦,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

讀取文件時遇到和列數不對應的行,此時會報錯。若報錯行可以忽略,則添加以下參數:

樣式:

pandas.read_csv(***,error_bad_lines=False)

pandas.read_csv(filePath) 方法來讀取csv文件時,可能會出現這種錯誤:

ParserError:Error tokenizing data.C error:Expected 2 fields in line 407,saw 3.

是指在csv文件的第407行數據,期待2個字段,但在第407行實際發現了3個字段。

原因:header只有兩個字段名,但數據的第407行卻出現了3個字段(可能是該行數據包含了逗號,或者確實有三個部分),導致pandas不知道該如何處理。

解決辦法:把第407行多出的字段刪除,或者通過在read_csv方法中設置error_bad_lines=False來忽略這種錯誤:

改為

pandas.read_csv(filePath,error_bad_lines=False)

來忽略掉其中出現錯亂(例如,由于逗號導致多出一列)的行。

KeyError錯誤:

報這種錯是由于使用了DataFrame中沒有的字段,例如id字段,原因可能是:

.csv文件的header部分沒加逗號分割,此時可使用df.columns.values來查看df到底有哪些字段:

print(df.columns.values)

.在操作DataFrame的過程中丟掉了id字段的header,卻沒發現該字段已丟失。

例如:

df=df[df['id']!='null']#取得id字段不為null的行
df=df['id']#賦值后df為Series,表示df在id列的值,而不再是一個DataFrame,于是丟掉了id的頭,此時若再使用df['id']將報錯。

取列的值,與取列的區別:

df=df['id']#取id列的值,賦值后df為Series類型,可用print(type(df))來查看其類型
df=df[['id']]#只取df的id列作為一個新的DataFrame,賦值后df仍然是一個DataFrame
df=df[['id','age']]#取df的id和age列作為一個新的DataFrame,賦值后df仍然是一個DataFrame

過濾行

df=df[df['id']!='null']#過濾掉id字段取值為'null'的行

注意,此處的'null'是一個字符串,若df中某行id字段的值不是字符串型,或者為空,將報TypeError:invalid type comparison錯,因為只有相同類型的值才能進行比較。

解決辦法:如果不能保證id列都是string類型,則需要去掉該過濾條件。

補充知識:pandas 使用read_csv讀取文件時產生錯誤:EOF inside string starting at line

解決方法:使用參數 quoting

df = pd.read_csv(csvfile, header = None, delimiter="\t", quoting=csv.QUOTE_NONE, encoding='utf-8')

看完這篇關于Pandas中read_csv()讀取文件跳過報錯行怎么辦的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郸城县| 江安县| 肃北| 托克托县| 响水县| 乌海市| 梓潼县| 凌源市| 白朗县| 廊坊市| 滕州市| 汶川县| 新绛县| 新野县| 堆龙德庆县| 子洲县| 共和县| 右玉县| 车致| 交城县| 岱山县| 广昌县| 镇远县| 浏阳市| 太白县| 谷城县| 饶河县| 平泉县| 祥云县| 烟台市| 德令哈市| 会宁县| 沁水县| 营山县| 涞源县| 靖边县| 长宁区| 大英县| 吉木乃县| 石渠县| 扶余县|