You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame导出CSV报错:Jupyter正常外部运行遇Unicode编码问题

解决pandas导出CSV时的UnicodeEncodeError问题

首先得说你的判断很准——这个问题确实和DataFrame里的特殊字符有关,但更深层的原因是Jupyter环境和外部Python脚本的默认编码差异。

为什么会出现这个差异?

  • 在Jupyter Notebook里,默认的文件操作编码是UTF-8,所以to_csv能自动处理非ASCII字符(比如中文、特殊符号);
  • 但放到外部Python脚本运行时,很多环境下的默认编码是ASCII,pandas会用这个默认编码去写文件,一旦遇到超出ASCII范围的字符,就会抛出你看到的UnicodeEncodeError。

你的修复方案完全正确

正如你做的,只需要给to_csv方法显式指定encoding='utf-8'参数(这里提一句,你写的utf8-8应该是笔误,正确的参数值是utf-8),就能强制用UTF-8编码导出文件,解决特殊字符的编码问题:

df1.to_csv("{0}{1}.csv".format(report_path,db), encoding='utf-8')

额外小提示

如果导出的CSV在Windows的Excel里打开乱码,可以试试用encoding='utf-8-sig',它会在文件开头添加一个BOM标记,让Excel能正确识别UTF-8编码的内容。

内容的提问来源于stack exchange,提问作者chowpay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:05:03