解决Python2读文件内容时乱码的问题
不懂解决Python2读文件内容时乱码的问题?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。
Python2读文件内帮助。容乱码怎么解决
1.设置默认编码
在Python代码中的任何地方出现中文,编译时都会报错,这时可以在代码的首行添加相应说明,明确utf-8编码格式,可以解决一般情况下的中文报错。当然,编程中遇到具体问题还需具体分析啦。
推荐学习《Python教程》。
#encoding:utf-8
或者
#-*-coding:utf-8-*-importsysreload(sys)sys.setdefaultencoding('utf8')#设置默认编码格式为'utf-8'
2.文件读写
文件读写中遇到中文,通常不会报错,但是最后运行结果显示乱码,给后续处理带来不便。
2.1 读文件
读文件时,如果文件路径、文件名中有中文,需要使用unicode函数将其编码为'utf-8'格式,然后再进行正常的文件读取。以我常用的pandas的read_csv函数为例,使用如下代码可以成功地读取名为“POI总表”的csv文件,保存在DataFrame数据类型的poi_list。
importpandasaspdinpath='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()#修改编码importcodecsf=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读文件内容时乱码的问题内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。