亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我有兩個相同的 CSV 文件,但由于 UnicodeDecodeError 無法將其中一個讀入

我有兩個相同的 CSV 文件,但由于 UnicodeDecodeError 無法將其中一個讀入

慕的地8271018 2021-12-26 10:56:36
標題解釋了主要問題,但讓我詳細說明。假設我有兩個 CSV 文件 -csv1和csv2. 他們每個看起來都像這樣:csv1:和csv2:問題是當我運行時pd.read_csv('./csv1.csv')它工作正常,但是當我運行時pd.read_csv('./csv2.csv')我得到一個UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 73: invalid start byte兩個 CSV 文件之間的區別csv2基本上csv1是日期按升序排序。我為實現這一目標所做的操作是:csv2 = csv1.sort_values(by=['date'])csv2.to_csv('./Data/csv_final.csv', index=False)有誰知道問題是什么?我試過查看其他解決方案,許多人建議在運行時嘗試指定不同的編碼方案,pd.read_csv()但我只是好奇問題可能是由什么引起的。謝謝你。
查看完整描述

3 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

許多人建議在運行 pd.read_csv() 時嘗試指定不同的編碼方案

是的,這是您應該做的 - 在首先弄清楚 CSV 文件使用的編碼方案之后。由于默認的utf-8無效,建議windows-1252是一個很好的猜測。

但我只是好奇問題可能是由什么引起的。

這是由于 CSV 文件沒有按照utf-8Pandas 默認假定的編碼進行編碼,因此嘗試使用該編碼讀取它是行不通的。

您應該確保您了解Python 中的 Unicode 和文本編碼??梢哉f,在您首先進行.to_csv調用時明確指定編碼也是一個好主意。


查看完整回答
反對 回復 2021-12-26
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

抱怨的字節是 0x80,在 Windows 1252 編碼中是歐元符號。


>>> "€".encode("windows-1252")

b'\x80'

供應encoding="windows-1252"作為關鍵字參數來read_csv()調用。


查看完整回答
反對 回復 2021-12-26
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

使用 excel 或其他工具對 csv 進行排序可能會產生編碼錯誤。您應該使用純文本編輯器檢查位置 73,看看是否有不常見的字符。


查看完整回答
反對 回復 2021-12-26
  • 3 回答
  • 0 關注
  • 359 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號