最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Python2.7讀寫文件中的中文亂碼問題

 更新時間:2018年04月12日 15:43:26   作者:haha_point  
下面小編就為大家分享一篇解決Python2.7讀寫文件中的中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Python2.7對于中文編碼的問題處理的并不好,這幾天在爬數(shù)據(jù)的時候經(jīng)常會遇到中文的編碼問題。但是本人對編碼原理不了解,也沒時間深究其中的原理。在此僅從應(yīng)用的角度做一下總結(jié),

1.設(shè)置默認(rèn)編碼

在Python代碼中的任何地方出現(xiàn)中文,編譯時都會報錯,這時可以在代碼的首行添加相應(yīng)說明,明確utf-8編碼格式,可以解決一般情況下的中文報錯。當(dāng)然,編程中遇到具體問題還需具體分析啦。

#encoding:utf-8
或者
# -*- coding: utf-8 -*- 
import sys 
reload(sys) 
sys.setdefaultencoding('utf8') # 設(shè)置默認(rèn)編碼格式為'utf-8'

2.文件讀寫

文件讀寫中遇到中文,通常不會報錯,但是最后運行結(jié)果顯示亂碼,給后續(xù)處理帶來不便。

2.1 讀文件

讀文件時,如果文件路徑、文件名中有中文,需要使用unicode函數(shù)將其編碼為'utf-8'格式,然后再進行正常的文件讀取。以我常用的pandas的read_csv函數(shù)為例,使用如下代碼可以成功地讀取名為“POI總表”的csv文件,保存在DataFrame數(shù)據(jù)類型的poi_list。

import pandas as pd
inpath = 'C:\\POI總表.csv'
**path = unicode(inpath, 'utf-8')**
poi_list = pd.read_csv(path)

2.2 寫文件

文件名有中文,文件名亂碼

當(dāng)想要將程序運行結(jié)果保存到文本文件時,文本文件的命名中如果有中文,不做處理文件名會出現(xiàn)亂碼。利用unicode函數(shù)進行編碼可解。unicode(‘中文.csv','utf-8')

文件內(nèi)容有中文,excel打開內(nèi)容亂碼

如果將包含中文的結(jié)果輸出到csv文件,一般默認(rèn)使用Excel打開文件時,文件內(nèi)容會出現(xiàn)亂碼,而使用文本編輯器打開不會亂碼。這是因為Excel默認(rèn)的編碼方式為‘GBK‘,而文本編輯器默認(rèn)的格式為‘utf-8'。使用codecs包在創(chuàng)建文件后添加語句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打開內(nèi)容不亂碼的核心語句**
f.write('123,語文')
f.close()

輸出結(jié)果:

#文件名:璇枃.csv
#Excel打開  123 璇枃
#文本編輯器打開 123,語文
#改編碼后
#文件名:語文.csv
#Excel打開  123 語文
#文本編輯器打開 123,語文

以上這篇解決Python2.7讀寫文件中的中文亂碼問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

阳西县| 庐江县| 台前县| 诸暨市| 富锦市| 闵行区| 浏阳市| 固安县| 莱州市| 武宣县| 苍山县| 绥德县| 石林| 五寨县| 福建省| 高陵县| 灵丘县| 遂昌县| 汾西县| 常山县| 河池市| 浙江省| 德安县| 石首市| 弋阳县| 武冈市| 德格县| 霸州市| 磐安县| 鄂伦春自治旗| 宜良县| 古浪县| 华亭县| 塘沽区| 梅州市| 府谷县| 津南区| 疏勒县| 扎鲁特旗| 丽水市| 乌拉特后旗|