国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-22 23:40:00
字體:
來源:轉載
供稿:網友

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

1.設置默認編碼

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

#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 pdinpath = '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 codecsf = 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.7讀寫文件中的中文亂碼問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金坛市| 嵩明县| 克东县| 定南县| 夏津县| 陆河县| 商城县| 财经| 马尔康县| 株洲县| 阿拉善右旗| 宝清县| 桂东县| 瓮安县| 高台县| 开远市| 岳池县| 浠水县| 荆州市| 富川| 华蓥市| 延庆县| 宜都市| 巴彦淖尔市| 嵊泗县| 旬邑县| 喀喇沁旗| 来宾市| 八宿县| 临西县| 泰和县| 财经| 定南县| 泽普县| 甘德县| 天门市| 平阳县| 平山县| 千阳县| 大足县| 万宁市|