pandas保存CSV时特殊字符在Excel中显示乱码如何解决
问题修复方案
问题原因
该问题由编码格式不匹配导致:Pandas的to_csv方法默认使用无BOM的UTF-8编码存储文件,而Windows系统下的Excel默认采用GBK/GB2312编码读取文件,会将UTF-8编码的右单引号’的字节序列错误解析,最终显示为乱码。
修复方法
方案1(最推荐,修改导出代码一劳永逸)
导出CSV时指定使用带BOM的UTF-8编码,Excel可自动识别该编码,不会出现乱码:
s.to_csv("s.csv", encoding='utf_8_sig')
方案2(已生成文件无需重新导出时使用)
通过Excel的数据导入功能手动指定编码打开:
- 打开空白Excel文件,点击顶部「数据」选项卡
- 选择「自文本/CSV」,选中你已生成的
s.csv文件 - 在导入设置页,编码选择「UTF-8」,分隔符选择「逗号」,确认导入即可正常显示内容
方案3(仅适配中文环境使用)
如果你的数据没有GBK编码不支持的特殊字符,也可以直接指定导出编码为GBK:
s.to_csv("s.csv", encoding='gbk')
内容的提问来源于stack exchange,提问作者Cranjis
相关产品推荐
相关产品推荐

