pandas 之 to_csv 保存数据出现中文乱码问题及解决办法

data.to_csv('className_time.csv')

pandas 之 to_csv 保存数据出现中文乱码问题及解决办法_第1张图片

(1)使用 df.to_csv(file_name2, encoding=‘utf-8’) 后还是编码有问题

data.to_csv('className_time.csv', encoding='utf-8')

pandas 之 to_csv 保存数据出现中文乱码问题及解决办法_第2张图片

(2)使用 df.to_csv(file_name2, encoding=‘utf_8_sig’) 后中文乱码问题解决了

pandas 之 to_csv 保存数据出现中文乱码问题及解决办法_第3张图片

关于utf-8与utf_8_sig的区别:

UTF-8以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序的问题,也因此它实际上并不需要BOM(“ByteOrder Mark”)。但是UTF-8 with BOM即utf-8-sig需要提供BOM。

1)程序输出中出现乱码的原因是因为python2中中文编码的问题,需要注意的是要将处理的中文文件的编码和python源文件的编码保持一致,这样不会出现中文乱码。可以参考这两篇文章关于Python脚本开头两行的:#!/usr/bin/python和# -- coding: utf-8 --的作用 – 指定和Python中用encoding声明的文件编码和文件的实际编码之间的关系

2)在程序中能够正常输出中文,但是导出到文件后使用excel打开是出现中文乱码是因为excel能够正确识别用gb2312、gbk、gb18030或utf_8 with BOM 编码的中文,如果是utf_8 no BOM编码的中文文件,excel打开会乱码。

你可能感兴趣的:(python数据分析,python,乱码,excel)