作者:乔山办公网日期:
返回目录:excel表格制作
这个是因为编码问题,xls默认应该是gbk或者gb2312如果你把utf8编码的中文写进去就会是乱码。写入前用.encode(“utf8”)一下应该就可以了
如果使用python2那么就需要
ws.write(0,0,i[0].decode('gbk'))
这样改一下编码
可以直接成成python3,就不用烦这些编码问题了。
使用encode('gbk')或者encode('u8')编码
乱码是编码问题,微软的excel默认打开的编码是gbk,如果你写入的数据是copy非gbk编码的,那么使用微软excel打开就会出现乱码的情况。解决方法为:对要写入的数据编码为gbk之后在进行写入,在python中的简单的操作方法如下:
1.源数据为unicode编码zhidao,则直接使用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方法为字符串的方法,不能应用与列表等其他类型的数据上