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

Pandas导出DataFrame至CSV时Excel打开异常,如何设置编码?

解决CSV用Excel打开时科学计数法显示异常的问题

你遇到的根本问题不是编码错误,而是Excel会自动把带E的字符串(比如30219E103)识别成科学计数法,导致内容变形——这和你尝试的utf-8/utf-16编码无关。以下是两种直接有效的解决方法:

方法一:给字符串列加单引号前缀

在导出前给code列的每个值加上单引号,强制Excel将其识别为文本:

# 给code列添加单引号前缀,规避科学计数法识别
df1['code'] = "'" + df1['code']
# 用带BOM的utf-8编码导出,避免Excel乱码
df1.to_csv('output.csv', encoding='utf-8-sig', index=False)

打开CSV时,Excel会自动忽略开头的单引号,正常显示原始的code值。

方法二:用CSV引号规则强制文本格式

借助csv模块的引用参数,给所有非数值列加上双引号,让Excel按文本解析:

from csv import QUOTE_NONNUMERIC

# 导出时对非数值列强制添加双引号
df1.to_csv('output.csv', encoding='utf-8-sig', index=False, quoting=QUOTE_NONNUMERIC)

这种方式不需要修改原始数据,通过CSV格式规则就能让Excel正确识别字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:36:20