最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python2读文件内容乱码怎么解决

    正文概述    2020-05-21   237

    下面为大家分享一篇解决Python2.7读写文件中的中文乱码问题,具有很好的参考价值,希望对大家有所帮助。

    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读文件内容乱码怎么解决

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元