python讀取csv檔案編碼問題

2021-10-11 16:17:53 字數 792 閱讀 3794

使用utf-8編碼開啟csv檔案時候報錯,如下:

fo = open("2.csv","r",encoding="utf-8")

無效方法:使用python讀取含有中文的csv檔案的時候常常遇到編碼錯誤,因此就想把csv檔案編碼改為utf-8編碼方式,用excel開啟另存為utf-8格式沒法解決問題,可以採用以下方法:

有效方法:首先,將.csv檔案儲存一下,然後滑鼠右擊開啟方式記事本。

然後,以記事本的方式開啟了。

檔案-另存為 這時彈出乙個視窗,右下方,編碼,這時候你就可以選擇自己想要的編碼格式,然後儲存,就可以了。

fo = open("2.csv","r",encoding="utf-8")

雖然取出來的內容不是亂碼,但是前面帶了\ufeff

\ufeff 這是哪來的呢?網上搜尋後發現原來是文字儲存時包含了bom(byte order mark,位元組順序標記,出現在文字檔案頭部,unicode編碼標準中用於標識檔案是採用哪種格式的編碼)導致的,解決方法是使用 utf-8-sig 編碼,即

fo = open("2.csv","r",encoding="utf-8-sig")
得到結果如下:

python讀取csv檔案

csv格式資料 import csvcsv資料儲存,包括三種方式 直接寫入csv檔案 寫入 一條或者多條資料 import csv header line1 line2 line3 rows 1,2,3 4,5,6 7,8,9 with open test.csv w as f file csv.w...

python讀取CSV檔案

reader讀取csv檔案,再用for迴圈遍歷 import csv with open customer.csv as f f csv csv.reader f for row in f csv print row 0 執行結果 id test 932467 1111 932468 2 93246...

python讀取csv檔案

在python裡面,讀取或寫入csv檔案時,首先要import csv這個庫,然後利用這個庫提供的方法進行對檔案的讀寫。0x01 獲取每一行 讀取csv檔案,用的是csv.reader 這個方法。返回結果是乙個 csv.reader的物件,我們可以對這個物件進行遍歷,輸出每一行,某一行,或某一列。如...