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

调试同事脚本遇异常:DataFrame无法打印键值但可存CSV

解决Pandas打印DataFrame时的UnicodeEncodeError问题

快速临时修复

  • 在脚本开头添加以下代码,强制标准输出使用utf-8编码:
import sys
sys.stdout.reconfigure(encoding='utf-8')

之后再执行print(df)或print(df.keys())就能正常显示非ASCII字符。

  • 或者直接在打印时手动处理编码:
# 打印整个DataFrame
print(df.to_string().encode('utf-8').decode('utf-8'))
# 打印键值
print(str(df.keys()).encode('utf-8').decode('utf-8'))

永久解决(针对终端环境)

  • Linux/macOS:编辑你的shell配置文件(比如~/.bashrc或~/.zshrc),添加一行:
export PYTHONIOENCODING=utf-8

保存后执行source ~/.bashrc(对应你的配置文件)生效,之后所有Python脚本的终端输出都会默认用utf-8编码。

  • Windows:打开命令提示符,先执行以下命令再运行脚本:
set PYTHONIOENCODING=utf-8

或者直接在系统环境变量中添加PYTHONIOENCODING变量,值设为utf-8,永久生效。

问题原因

df.to_csv()默认使用utf-8编码写入文件,天然支持非ASCII字符;而print操作会使用当前终端的默认编码输出,如果终端被设置为ASCII编码,就无法处理DataFrame里的非ASCII字符,从而抛出UnicodeEncodeError。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:42:05