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

Pandas导入Excel时非日期数据被自动转日期的解决方法

解决办法

方法1:针对目标列强制以字符串读取

使用pd.read_excel的converters参数,指定容易被误判为日期的列(按索引,因你设置了header=None)强制转换为字符串,直接保留原始的“1-Jan”格式,避免被自动解析为日期。

示例代码:

filename = 'excel.xlsx'
# 假设问题出在第0列,多列可写成 {0: str, 2: str} 格式
datadf = pd.read_excel(filename, header=None, converters={0: str})

方法2:全局禁用自动类型推断(全列按字符串读取)

如果不确定哪些列会出现误判,或多列存在混合类型,可直接指定dtype=str让所有列以字符串格式读取,彻底杜绝日期自动解析问题。

示例代码:

filename = 'excel.xlsx'
datadf = pd.read_excel(filename, header=None, dtype=str)

导出时保证格式保留

导出到Excel时,使用openpyxl作为引擎(需先安装:pip install openpyxl),确保字符串类型列不会被Excel自动转为日期格式:

datadf.to_excel('output.xlsx', header=None, index=False, engine='openpyxl')

补充说明

若部分列原本是数字,转成字符串后导出会变为文本格式数字,如需保留数字类型,建议先定位出易误判日期的列,仅对这些列用converters设为字符串,其他列保持自动推断即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:02:09