資訊內(nèi)容
Python2讀文件內(nèi)容亂碼怎么解決
下面為大家分享一篇解決python2.7讀寫文件中的中文亂碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
Python2讀文件內(nèi)容亂碼怎么解決IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
1.設(shè)置默認(rèn)編碼IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
在Python代碼中的任何地方出現(xiàn)中文,編譯時(shí)都會(huì)報(bào)錯(cuò),這時(shí)可以在代碼的首行添加相應(yīng)說明,明確utf-8編碼格式,可以解決一般情況下的中文報(bào)錯(cuò)。當(dāng)然,編程中遇到具體問題還需具體分析啦。IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
推薦學(xué)習(xí)《python教程》。IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
#encoding:utf-8或者IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
# -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') # 設(shè)置默認(rèn)編碼格式為'utf-8'2.文件讀寫IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
文件讀寫中遇到中文,通常不會(huì)報(bào)錯(cuò),但是**后運(yùn)行結(jié)果顯示亂碼,給后續(xù)處理帶來不便。IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
2.1 讀文件IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
讀文件時(shí),如果文件路徑、文件名中有中文,需要使用unicode函數(shù)將其編碼為'utf-8'格式,然后再進(jìn)行正常的文件讀取。以我常用的pandas的read_csv函數(shù)為例,使用如下代碼可以成功地讀取名為“POI總表”的csv文件,保存在DataFrame數(shù)據(jù)類型的poi_list。IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
import pandas as pd inpath = 'C:\POI總表.csv' **path = unicode(inpath, 'utf-8')** poi_list = pd.read_csv(path)2.2 寫文件IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
文件名有中文,文件名亂碼IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
當(dāng)想要將程序運(yùn)行結(jié)果保存到文本文件時(shí),文本文件的命名中如果有中文,不做處理文件名會(huì)出現(xiàn)亂碼。利用unicode函數(shù)進(jìn)行編碼可解。IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
unicode(‘中文.csv','utf-8')文件內(nèi)容有中文,excel打開內(nèi)容亂碼IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
如果將包含中文的結(jié)果輸出到csv文件,一般默認(rèn)使用Excel打開文件時(shí),文件內(nèi)容會(huì)出現(xiàn)亂碼,而使用文本編輯器打開不會(huì)亂碼。這是因?yàn)镋xcel默認(rèn)的編碼方式為‘GBK‘,而文本編輯器默認(rèn)的格式為‘utf-8'。使用codecs包在創(chuàng)建文件后添加語句IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
f.write(codecs.BOM_UTF8)可解IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
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打開內(nèi)容不亂碼的核心語句** f.write('123,語文') f.close()輸出結(jié)果:IOW少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)
#文件名:璇枃.csv #Excel打開 123 璇枃 #文本編輯器打開 123,語文 #改編碼后 #文件名:語文.csv #Excel打開 123 語文 #文本編輯器打開 123,語文
- 上一篇
python圖片轉(zhuǎn)字符畫代碼是什么
簡介python圖片轉(zhuǎn)字符畫代碼:首先計(jì)算出圖片顏色對(duì)應(yīng)的灰度值;然后根據(jù)灰度值,從字符集中獲取圖片中每個(gè)像素點(diǎn)對(duì)應(yīng)的字符,代碼為【args=parser.parse_args()】。本教程操作環(huán)境:windows7系統(tǒng)、python3.9版,DELLG3電腦,該方法適用于所有品牌電腦。相關(guān)免費(fèi)學(xué)習(xí)推薦
- 下一篇
python中print輸出格式有哪些
簡介python中print輸出格式有:1、可用加號(hào)連接【print(I+love+you)】;2、逗號(hào)連接會(huì)自動(dòng)在連接串之間加上空格【print(I,love,you&q