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

Python中如何将.xlsb文件指定列的数字转换为日期?

解决Excel .xlsb中出生日期数字转日期的问题

步骤1:安装依赖库

读取.xlsb格式文件需要专用引擎支持,先安装必要的包:

pip install pandas pyxlsb

步骤2:读取数据并转换日期列

Excel的日期本质是从1900-01-01(Windows默认基准)开始累加的天数,用pandas可直接将这些数字转为标准日期:

import pandas as pd

# 读取.xlsb文件,必须指定engine='pyxlsb'
df = pd.read_excel('你的文件路径.xlsb', engine='pyxlsb')

# 转换"Date of Birth"列为日期格式
df['Date of Birth'] = pd.to_datetime(df['Date of Birth'], origin='1900-01-01', unit='D')

# 处理Excel 1900闰年bug(若转换后日期多一天,取消注释下面一行)
# df['Date of Birth'] = df['Date of Birth'] - pd.Timedelta(days=1)

# 查看转换后的数据
print(df[['Datafile', 'Date of Birth', 'Age', 'Gender']].head())

补充:处理无效值

如果出生日期列存在非数字的无效数据(如空值、字符串),可通过errors='coerce'将其转为NaT(缺失日期标记),避免程序报错:

df['Date of Birth'] = pd.to_datetime(df['Date of Birth'], origin='1900-01-01', unit='D', errors='coerce')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:40:25