python用xlwt向xls中写入中文,显示乱码该怎么解决

如题所述

乱码是编码问题,微软的excel默认打开的编码是gbk,如果你写入的数据是非gbk编码的,那么使用微软excel打开就会出现乱码的情况。解决方法为:对要写入的数据编码为gbk之后在进行写入,在python中的简单的操作方法如下:

    1.源数据为unicode编码,则直接使用encode("gbk")即可转换编码;

    str = u"我爱中国共产党"  # unicode编码的字符串
    des_str = str.encode("gbk")  #转换为gbk编码

    2.源数据不是unicode编码,那么必须先使用decode函数解码为unicode编码,在按照第一种情况转换为gbk编码。

    str = u"我爱中国共产党"  # unicode编码的字符串
    src_str = str.encode("utf-8")  # 源数据格式utf-8
    des_str = str.decode("utf-8").encode("gbk")  #转换为gbk编码

注意:encode和decode方法为字符串的方法,不能应用与列表等其他类型的数据上

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-28
如果使用python2那么就需要
ws.write(0,0,i[0].decode('gbk'))

这样改一下编码
可以直接成成python3,就不用烦这些编码问题了。本回答被网友采纳
第2个回答  2019-07-25
python是当下十分火爆的编程语言,尤其在人工智能应用方面。如果有心从事编程方向的工作,最好到专业机构深入学习、多实践,更贴近市场,这样更有利于将来的发展。