[Python2.7]UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0

我是用python修改excel,最后save时,出现这个问题,最后一行加粗的是解决方法

网上给出的解决办法基本都是

if sys.getdefaultencoding() != 'utf-8':
    reload(sys)

    sys.setdefaultencoding('utf-8')

我疯了一样在几乎所有文件都加了这句话,结果还是不行,受下面文章的启发

https://blog.csdn.net/a359680405/article/details/42554095

 

Python 2.x,字符编码方面,设计的不好。字符串包含两种----->str字符串(此时字符串的编码类型,对应着你的Python文件本身保存为何种编码有关)和unicode字符串

而在Python 3.*中,字符串则是unicode编码的str。上面这个问题,就是Python2.*渣编码的一个体现

 

想起来我往excel里面写入了字符串str,而且我用的正是python2.x!

通过unicode('写入的字符串',"utf-8")把写入excel的字符串转为unicode字符串,问题解决~

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值