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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法为字符串的方法,不能应用与列表等其他类型的数据上

参考技术A 如果使用python2那么就需要
ws.write(0,0,i[0].decode('gbk'))

这样改一下编码
可以直接成成python3,就不用烦这些编码问题了。
参考技术B python是当下十分火爆的编程语言,尤其在人工智能应用方面。如果有心从事编程方向的工作,最好到专业机构深入学习、多实践,更贴近市场,这样更有利于将来的发展。

以上是关于python用xlwt向xls中写入中文,显示乱码该怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

Python xlwt写入列数最多为多少行

python3 调用xlwt模块对excel执行写入操作

使用python读取excel中的数据,并重新写入到新的excel中

Python处理excel文件

python 对xls写入信息

Python3 关于excel 文件格式xls之读取写入和追加