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

从Excel读入日期转为序列值,如何转换为月/日/年格式?

Excel日期序列值转换为月/日/年格式的解决方法

首先明确核心逻辑:你读到的43901.84这类数值是Excel原生的日期存储格式,整数部分代表从Excel固定起点到对应日期的天数,小数部分代表当天的时间占比(1代表完整一天24小时),和你原始记录的3/11/2020 8:12:00 PM、3/12/2020 7:13:00 PM是完全对应匹配的,不存在数据损坏的问题。

不同使用场景的操作方案

场景1:直接在Excel文件内完成转换

  • 选中所有存储了序列值的单元格区域
  • 右键打开「设置单元格格式」面板
    • 方法一:在「日期」分类下,直接选择格式为月/日/年的预设样式确认即可
    • 方法二:如果需要精准控制格式,选「自定义」分类,在格式输入框中填入mm/dd/yyyy,确认后即可输出完全匹配要求的格式

场景2:用Python(pandas)读取文件后完成转换

多数情况下读入时日期变成数值,是因为读取时未触发自动日期解析,可直接通过内置方法做精准转换:

import pandas as pd
# 读取Excel文件
df = pd.read_excel("你的数据集文件路径.xlsx")
# 对存序列值的列做日期转换,origin参数适配Excel的历史1900闰年bug
df["日期时间列"] = pd.to_datetime(df["日期时间列"], unit="D", origin="1899-12-30")
# 按需求格式生成月/日/年格式的日期字符串
df["格式化日期"] = df["日期时间列"].dt.strftime("%m/%d/%Y")

注意:不要把origin参数设为1900-01-01,因为Excel存在历史遗留bug,错误将1900年识别为闰年,多计入了1天的偏移,用1899-12-30作为转换原点,才能保证转换结果和原Excel显示的日期完全一致,不会出现日期差1天的问题。


常见踩坑提示

  • 不要用手动计算“数值/365+年份起点”的方式换算,很容易因为闰年、历史bug出现日期偏移
  • 如果转换后日期和实际差1天,优先检查origin参数是否匹配Excel的存储规则
  • 你提供的43901.84通过上述方法转换后,结果正好是2020-03-11 20:12,43902.80转换后是2020-03-12 19:12,和你原始记录的日期时间完全对应

内容的提问来源于stack exchange,提问作者T.McMillen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 00:45:03