解決Python調(diào)用df.to_csv()出現(xiàn)中文亂碼的問題
更新時間:2024年09月18日 12:12:33 作者:必須掂水
在Python使用df.to_csv()時,若出現(xiàn)中文亂碼,可通過加入?yún)?shù)encoding="utf_8_sig"解決,"utf-8"編碼不包含BOM,直接處理文件時會將BOM誤讀為內(nèi)容;而"utf_8_sig"會識別并處理BOM,避免亂碼,此方法為實踐經(jīng)驗,供參考
Python調(diào)用df.to_csv()出現(xiàn)中文亂碼
df = pd.DataFrame(data=total_info, columns=[‘公司全名', ‘公司簡稱', ‘公司規(guī)模', ‘融資階段', ‘區(qū)域', ‘職位名稱', ‘工作經(jīng)驗', ‘學(xué)歷要求', ‘薪資', ‘職位福利', ‘經(jīng)營范圍', ‘職位類型', ‘公司福利', ‘第二職位類型', ‘城市']) df.to_csv(‘C:/Users/Shinelon/Desktop/Python_development_engineer.csv', index=False)
結(jié)果出現(xiàn)亂碼:
解決方案
加上**encoding=“utf_8_sig”**就好了。
df.to_csv(‘C:/Users/Shinelon/Desktop/Python_development_engineer.csv', encoding=“utf_8_sig”)
注意注意
‘utf-8’ 和 ‘utf_8_sig’ 的區(qū)別:
- ”utf-8“ 是以字節(jié)為編碼單元,它的字節(jié)順序在所有系統(tǒng)中都是一樣的,沒有字節(jié)序問題,因此它不需要BOM,所以當用"utf-8"編碼方式讀取帶有BOM的文件時,它會把BOM當做是文件內(nèi)容來處理。
- “uft-8-sig"中sig( signature )是"帶有簽名的utf-8”, 所以"utf-8-sig"讀取帶有BOM的"utf-8文件時"會把BOM單獨處理,與文本內(nèi)容隔離開。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python+Flask設(shè)計實現(xiàn)AI智能天氣助手系統(tǒng)
這篇文章主要為大家詳細介紹了如何基于Python和Flask設(shè)計實現(xiàn)一個AI智能天氣助手系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下2025-03-03深入討論Python函數(shù)的參數(shù)的默認值所引發(fā)的問題的原因
這篇文章主要介紹了深入討論Python函數(shù)的參數(shù)的默認值所引發(fā)的問題的原因,利用了Python解釋器在內(nèi)存地址分配中的過程解釋了參數(shù)默認值帶來陷阱的原因,需要的朋友可以參考下2015-03-03python中protobuf和json互相轉(zhuǎn)換應(yīng)用處理方法
protobuf目前有proto2和proto3兩個版本,本文所介紹的是基于proto3,在Python 3.6.9環(huán)境下運行,本文記錄一下python中protobuf和json的相互轉(zhuǎn)換的處理方法,感興趣的朋友跟隨小編一起看看吧2022-12-12詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼
這篇文章主要介紹了詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2020-12-12Anaconda下配置python+opencv+contribx的實例講解
今天小編就為大家分享一篇Anaconda下配置python+opencv+contribx的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08