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

使用Pandas导出CSV时保留前导零的问题求助

解决Pandas导出CSV时前导零丢失的问题

当你用df.to_csv()导出CSV时,带前导零的数值型数据(如012546320)丢失前导零,是因为Pandas默认会将数值类型按数值格式存储导出,而float_format='str'仅对浮点数生效,对整数或其他数值类型不起作用。以下是几种有效解决方案:

方法1:将整个DataFrame转为字符串后导出

直接把所有列转换成字符串类型,确保所有值(包括带前导零的数值)以原始格式导出:

df.astype(str).to_csv('output.csv', index=False)

如果DataFrame里存在NaN值,转换后会变成字符串'NaN',若需保留空值可先处理:

df.fillna('').astype(str).to_csv('output.csv', index=False)

方法2:仅转换需要保留前导零的列

如果只有部分列需要保留前导零,单独转换这些列更高效:

# 假设需要处理的列是'code'和'number'
cols_to_preserve = ['code', 'number']
df[cols_to_preserve] = df[cols_to_preserve].astype(str)
df.to_csv('output.csv', index=False)

方法3:读取数据时就指定列类型为字符串

如果是从CSV读取数据时就丢失了前导零,在读取阶段指定对应列的类型为字符串,从根源避免问题:

df = pd.read_csv('input.csv', dtype={'code': str, 'number': str})
# 后续直接导出即可保留前导零
df.to_csv('output.csv', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:45:23