欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas之read_csv()讀取文件跳過報錯行的解決

 更新時間:2020年04月21日 16:09:48   作者:wf592523813  
這篇文章主要介紹了Pandas之read_csv()讀取文件跳過報錯行的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

樣式:

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

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

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

是指在csv文件的第407行數(shù)據(jù),期待2個字段,但在第407行實際發(fā)現(xiàn)了3個字段。

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

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

改為

pandas.read_csv(filePath,error_bad_lines=False)

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

KeyError錯誤:

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

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

print(df.columns.values)

.在操作DataFrame的過程中丟掉了id字段的header,卻沒發(fā)現(xiàn)該字段已丟失。

例如:

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

取列的值,與取列的區(qū)別:

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讀取文件時產(chǎn)生錯誤:EOF inside string starting at line

解決方法:使用參數(shù) quoting

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

以上這篇Pandas之read_csv()讀取文件跳過報錯行的解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 繪圖模塊matplotlib的使用簡介

    python 繪圖模塊matplotlib的使用簡介

    這篇文章主要介紹了python 繪圖模塊matplotlib的使用簡介,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • python 數(shù)據(jù)清洗之數(shù)據(jù)合并、轉(zhuǎn)換、過濾、排序

    python 數(shù)據(jù)清洗之數(shù)據(jù)合并、轉(zhuǎn)換、過濾、排序

    這篇文章主要介紹了python 數(shù)據(jù)清洗之數(shù)據(jù)合并、轉(zhuǎn)換、過濾、排序的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • python利用多線程+隊列技術(shù)爬取中介網(wǎng)互聯(lián)網(wǎng)網(wǎng)站排行榜

    python利用多線程+隊列技術(shù)爬取中介網(wǎng)互聯(lián)網(wǎng)網(wǎng)站排行榜

    這篇文章主要介紹了python利用多線程+隊列技術(shù)爬取中介網(wǎng)互聯(lián)網(wǎng)網(wǎng)站排行榜,文章基于python的相關(guān)內(nèi)容展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Windows上使用virtualenv搭建Python+Flask開發(fā)環(huán)境

    Windows上使用virtualenv搭建Python+Flask開發(fā)環(huán)境

    在自己本機的開發(fā)環(huán)境下,我們完全可以使用virtualenv來hold住多個Python環(huán)境,這樣就可以留出一個專門服役于Flask框架,哈哈,這里我們就來看看如何在Windows系統(tǒng)上使用virtualenv搭建Python+Flask開發(fā)環(huán)境
    2016-06-06
  • Python占用的內(nèi)存優(yōu)化教程

    Python占用的內(nèi)存優(yōu)化教程

    這篇文章主要給大家介紹了關(guān)于Python占用的內(nèi)存優(yōu)化教程,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python使用matplotlib繪制三維圖形示例

    Python使用matplotlib繪制三維圖形示例

    這篇文章主要介紹了Python使用matplotlib繪制三維圖形,結(jié)合實例形式分析了Python基于matplotlib庫繪制三維圖形的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-08-08
  • Keras模型轉(zhuǎn)成tensorflow的.pb操作

    Keras模型轉(zhuǎn)成tensorflow的.pb操作

    這篇文章主要介紹了Keras模型轉(zhuǎn)成tensorflow的.pb操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python進程間通訊與進程池超詳細講解

    Python進程間通訊與進程池超詳細講解

    進程彼此之間互相隔離,要實現(xiàn)進程間通信(IPC),multiprocessing模塊主要通過隊列方式,隊列:隊列類似于一條管道,元素先進先出,需要注意的一點是:隊列都是在內(nèi)存中操作,進程退出,隊列清空,另外,隊列也是一個阻塞的形態(tài)
    2022-12-12
  • Python語法學(xué)習(xí)之正則表達式的量詞匯總

    Python語法學(xué)習(xí)之正則表達式的量詞匯總

    通過正則的規(guī)則匹配到的信息都是一個單獨的字符存到輸出結(jié)果中的,如何更夠根據(jù)字符串中的詞組進行匹配呢?因此本文將帶大家學(xué)習(xí)一下正則表達式中的量詞符號與組的概念,感興趣的可以了解一下
    2022-04-04
  • Python Vaex實現(xiàn)快速分析100G大數(shù)據(jù)量

    Python Vaex實現(xiàn)快速分析100G大數(shù)據(jù)量

    Vaex是一個開源的DataFrame庫,它可以對表格數(shù)據(jù)集進行可視化、探索、分析,甚至機器學(xué)習(xí),這些數(shù)據(jù)集和你的硬盤驅(qū)動器一樣大。本文就來聊聊如何利用Vaex實現(xiàn)快速分析100G大數(shù)據(jù)量,需要的可以參考一下
    2023-03-03

最新評論