Python讀入文件報錯的處理方法

2021-03-02 數據小鄭

關註上方「數據小鄭」,選擇星標,數據分析職場之路我們一起走!

文章導讀:

本文主要 解決python在讀入文件時的報錯:ParserError:Error tokenizing data.C error:Expected x fields in line nnn,saw y。

文章分為兩部分,第一部分解釋報錯的意思,定位原因;第二部分給出解決方法。

1.報錯原因

在使用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不知道如何處理。

2.解決辦法:

把407行多出的欄位刪除,或者通過在read_csv方法中設置error_bad_line=False來忽略這種錯誤:

代碼如下,其中encoding='utf-8'是為了讀取中文,默認是C engine,當文件名中含有中文時,用C engine 在部分情況在就會出錯,所以在調用read_csv方法時指定engine為python就可以解決。

pandas.read_csv(filepath,error_bad_lines=False,encoding='utf-8',engine='python')

相關焦點

  • Python安裝庫文件報錯之Read timed out解決之道!
    先謝謝你的關注文/愛琳玩python在使用python中,我們會遇到特別多的報錯,這是python的通病,或許你也因為這中原因而讓人感到困擾,這裡我就整理了些關於python中報錯時的處理辦法,同時我也希望你能關注我的百家號,我會推出更多關於報錯時的解決之道。
  • python入門教程06-02(python語法入門之文件處理)
    上一章講解了python的字符編碼,了解了python的字符代碼結構之後就需要了解一下python這門語言是如何處理你給的命令,怎麼去處理文件的,下面我們來了解一二。一 引入應用程式運行過程中產生的數據最先都是存放於內存中的,若想永久保存下來,必須要保存於硬碟中。
  • R語言答疑:txt文件無法被R正確讀入
    今天來解答一個網友的疑惑,或許你也曾遇到過這個問題噢~R語言中,txt無法正確的讀入的可能性有很多種。
  • 基於Python實現對各種數據文件的操作
    /pandas-docs/stable/reference/api/pandas.read_csv.html#pandas.read_csvcsv文件的讀入和寫出相對簡單,直接調用pandas的函數即可。
  • 十、python基礎之異常處理結構與程序調試方法
    實驗目的:學習python的異常處理和程序調試實驗環境:已正確安裝python3.51、異常的基本概念異常是指程序運行時引發的錯誤,得不到正確的處理將會導致程序終止運行合理地使用異常處理結構可以使得程序更加健壯,具有更強的容錯性。例如:最常見的除數為0,python會拋出「ZeroDivisionError"異常。
  • 14-用Python 讀寫 Excel 文件
    XLS 或 XLSX 文件要生成 XLS 文件需要的功能不太複雜需要跨平臺要處理 XLSX 文件需要修改已有文件,或者在寫入過程中需要不斷修改需要的功能比較複雜數據量可能會很大需要跨平臺需要處理各種文件格式需要用到特別複雜的功能在修改文件時,不希望對原有信息造成任何意外破壞數據量很小,或者願意等待僅在 Windows
  • Python 與 Unicode
    編譯器/解釋器對原始碼中字符常量的處理方式(以下內容針對 python2)前面說的純文本文件是不包含 meta 信息的, 幾乎所有程式語言的原始碼文件都是純文本文件, .py 文件當然也不例外, 連 vim 這樣的專業編輯器都沒法知道源文件的編碼格式, python 解釋器肯定也是不知道的, 所以 python 也是選用了一種默認的編碼方式來解釋 .py 源文件, 與編輯器程序不同的是, python 默認認為源文件是 ascii 編碼的, 因為程序代碼一般都是英文字符嘛, 所以你如果寫了這麼一個 python 源文件:a = '你好, 世界'print
  • [Python]文件與異常的錯誤處理
    [Python]文件與異常的錯誤處理1.文件的處理過程# 文件基本操作:打開文件,處理文件,關閉文件the_file = open("sketch.txt", 'r')line_content = the_file.readline()  # 不指定readline的參數,讀取一整行print(line_content)
  • Python讀寫csv文件專題教程(2)
    skiprows還可以被賦值為某種過濾規則的函數skip_footer從文件末尾過濾行,解析器退化為python. 這是因為c解析器沒有這個特性。>nrowsnrows參數設置一次性讀入的文件行數,它在讀入大文件時很有用,比如16G內存的PC無法容納幾百G的大文件.
  • 如何在Visual Studio調整python可啟動文件
    >python類和對象在Visual Studio開發工具中,創建python應用程式,默認有個python文件,這個為主啟動文件;如果再創建一個python文件,想要運行這個文件,需要將其設置為主啟動文件,就可以調試了。
  • 實例15:用Python批量轉換doc文件為docx文件
    python-docx模塊雖然強大,但卻不能處理後綴為".doc"的word文件。如果強制讀取doc文件,將會報如下錯誤。
  • python中異常報錯的總結分析與處理方式
    想必到現在經過python基礎的學習之後,小夥伴們都已經開始寫很多腳本了,有大的有小的,但是有的時候並不是所寫的能夠順利跑出結果來,期間會有不但的報錯以及異常,很多我們都不理解,所以也就不會修改,這是寫腳本中常遇到的問題,雖然在當時被定型為絆腳石,但是多次遇到異常後我們會發現這是一筆不可多得的財富。對個人的成長有很大的幫助。
  • python使用with as處理文件的讀寫
    文件處理的兩種情況:1、忘記關閉文件。2、文件讀寫異常,未做處理。在python中使用with語句,可以自動調用close()方法,同時也解決了異常問題。with open('test.txt','w') as f:f.write('Hello, python!')
  • 使用Python圖像處理庫Pillow處理圖像文件
    本案例使用圖像處理庫Pillow中的模塊、對象來處理圖像:實現讀取圖像、獲取圖像信息、調整圖像大小、旋轉圖像、平滑圖像、剪切圖像等基本圖像處理任務。CS2.1 安裝PillowPillow是Python中的圖像處理庫(PIL:Python Image Library),提供了了廣泛的文件格式支持,強大的圖像處理能力,主要包括圖像儲存、圖像顯示、格式轉換以及基本的圖像處理操作等。
  • 三分鐘教你讀懂Python報錯
    有一個非常基礎但是有用的信息是我們應該掌握的,那就是Python報錯,看懂報錯可以幫助我們提高排錯的效率,小編總結了新手入門時常見的報錯信息和場景,熟悉這些報錯信息,新手會犯的一些小錯誤只需要稍微改正一下便可。錯誤是指一個在程序執行過程中發生,並影響程序正常運行的事件。當Python腳本出現異常時,如果不做任何處理,那麼程序就會終止運行。
  • python實戰演練2:python可執行文件運行不成功怎麼辦
    而目前常用的製作python的可執行文件工具為pyinstaller(對python版本有一定要求,python2.x的版本需要是2.4-2.7,python3.x的版本要在python3.4以上。安裝pyinstaller的方法:在支持pip命令的目錄(一般只要安裝了python集成環境的都支持這個命令,我的python安裝的時候使用的是Anaconda,所以直接在windows的開始目錄裡面就有個專門用於pip命令的cmd界面)直接使用命令pip install PyInstaller即可。
  • Python對CSV文件的處理
    CSV的文件中。在Python中,讀取csv文件使用到的標準庫是csv,直接導入就可以了,要讀取的CSV文件內容為:見讀取CSV文件裡面內容的源碼:#!csv調用方法rander後,返回的是一個迭代器,所以循環執行這個迭代器,獲取它裡面的數據。        另外一種方式是把讀取的數據類型是字典,使用到的方法是DictReader,見實現的源碼和執行結果返回的數據:
  • tensorflow之並行讀入數據
    創建批列表(讀取時可要可不要,一般情況下樣例列表可以執行讀取數據操作,但是在實際訓練的時候往往需要批列表來分批進行數據的組織,提取)其具體流程如下:一、 文件名列表:文件名列表是一個list類型的數據,裡面的內容是需要用的數據文件名。可以使用常規的python語法入:[file1, file2]。
  • 用Python讀寫文件的方法
    但是,在這裡,我們將用Python打開文本文件(.txt)。若使用Python的open函數,它將返回一個文件對象,此對象將包含一些方法和屬性。我們可以使用這些方法和屬性獲得已打開文件的相關信息,並且,可以使用這些方法來更改所打開的文件。
  • python入門第十三課:文件的讀寫與分析介紹,異常處理和代碼重構
    接來下繼續學習更多應用操作,比如文件操作、數據存儲、異常處理等,這些技巧能讓我們快速的處理大量的數據,讓程序更加健壯。一、文件讀取我們在python主程序文件的同一個目錄下,新建一個文本文件testfile.txt,內容如下:現在我們需要將該文件讀出來,並列印在屏幕上:with