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

Pandas导出Excel时长字符串ID如何预设为文本格式避免被截断

问题特性说明

该现象是Excel的正常特性,不属于bug。
Excel的数值类型默认精度上限为15位,当单元格为默认「常规」格式时,纯数字组成的字符串会被Excel自动识别为数值类型存储。长度超过15位的数字会触发科学计数法显示,且超出15位的部分会被直接截断丢失,无法恢复。

导出时强制指定文本格式的解决方案

可以通过pandas搭配Excel写入引擎,在导出阶段直接指定对应列的单元格格式为文本,打开文件时无需手动调整,示例代码如下:

import pandas as pd

# 生成示例数据
df = pd.DataFrame({'id':['10765432100123456789','10765432100123456788','10023']})

# 初始化Excel写入对象,指定使用xlsxwriter引擎
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, index=False, sheet_name='Sheet1')

# 获取工作簿、工作表对象
workbook = writer.book
worksheet = writer.sheets['Sheet1']

# 定义文本格式
text_format = workbook.add_format({'num_format': '@'})
# 将A列(id列)设置为文本格式,列宽设为20避免内容显示不全
worksheet.set_column('A:A', 20, text_format)

# 写入并保存文件
writer.close()

如果运行提示缺少xlsxwriter依赖,可通过pip install xlsxwriter安装。
如果偏好使用openpyxl作为写入引擎,也可以通过操作工作表的column_dimensions属性设置对应列的数字格式为'@'(即文本格式),逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:54:03