您好,登錄后才能下訂單哦!
不懂解決Python2讀文件內容時亂碼的問題?其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。
Python2讀文件內幫助。容亂碼怎么解決
1.設置默認編碼
在Python代碼中的任何地方出現中文,編譯時都會報錯,這時可以在代碼的首行添加相應說明,明確utf-8編碼格式,可以解決一般情況下的中文報錯。當然,編程中遇到具體問題還需具體分析啦。
推薦學習《Python教程》。
#encoding:utf-8
或者
# -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') # 設置默認編碼格式為'utf-8'
2.文件讀寫
文件讀寫中遇到中文,通常不會報錯,但是最后運行結果顯示亂碼,給后續處理帶來不便。
2.1 讀文件
讀文件時,如果文件路徑、文件名中有中文,需要使用unicode函數將其編碼為'utf-8'格式,然后再進行正常的文件讀取。以我常用的pandas的read_csv函數為例,使用如下代碼可以成功地讀取名為“POI總表”的csv文件,保存在DataFrame數據類型的poi_list。
import pandas as pd inpath = 'C:\\POI總表.csv' **path = unicode(inpath, 'utf-8')** poi_list = pd.read_csv(path)
2.2 寫文件
文件名有中文,文件名亂碼
當想要將程序運行結果保存到文本文件時,文本文件的命名中如果有中文,不做處理文件名會出現亂碼。利用unicode函數進行編碼可解。
unicode(‘中文.csv','utf-8')
文件內容有中文,excel打開內容亂碼
如果將包含中文的結果輸出到csv文件,一般默認使用Excel打開文件時,文件內容會出現亂碼,而使用文本編輯器打開不會亂碼。這是因為Excel默認的編碼方式為‘GBK‘,而文本編輯器默認的格式為‘utf-8'。使用codecs包在創建文件后添加語句
f.write(codecs.BOM_UTF8)
可解
name='語文' f = open(name+'.csv','w') f.write('123,語文') f.close() #修改編碼 import codecs f = open(**unicode(name+'.csv','utf-8')**,'w') # 文件名不亂碼 **f.write(codecs.BOM_UTF8) # excel打開內容不亂碼的核心語句** f.write('123,語文') f.close()
輸出結果:
#文件名:璇枃.csv #Excel打開 123 璇枃 #文本編輯器打開 123,語文 #改編碼后 #文件名:語文.csv #Excel打開 123 語文 #文本編輯器打開 123,語文
感謝你能夠認真閱讀完這篇文章,希望小編分享解決Python2讀文件內容時亂碼的問題內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。