如何用Pandas将Excel错误日期整数44288转换为日期格式?
Pandas转换Excel日期序列号为指定格式日期
Excel中的日期值44288是日期序列号,代表从Excel基准日期(1900-01-01)开始的天数(注意Excel存在1900年闰年的错误设定)。要在Pandas中实现转换并得到02.04.2021格式的日期,可按以下操作:
核心逻辑
Excel的日期序列号1对应1900-01-01,但由于它错误将1900年视为闰年,Pandas需要使用origin='1899-12-30'来匹配这个计算逻辑,确保转换结果和Excel完全一致。
单值转换示例
import pandas as pd # 输入Excel日期序列号 serial_date = 44288 # 转换为datetime对象 dt_obj = pd.to_datetime(serial_date, origin='1899-12-30', unit='D') # 格式化为dd.mm.yyyy格式 formatted_date = dt_obj.strftime('%d.%m.%Y') print(formatted_date) # 输出:02.04.2021
DataFrame列批量转换示例
如果需要处理DataFrame中的整列日期序列号:
import pandas as pd # 构造示例数据 df = pd.DataFrame({'excel_serial': [44288, 44300, 44100]}) # 转换为datetime列 df['date'] = pd.to_datetime(df['excel_serial'], origin='1899-12-30', unit='D') # 添加格式化后的日期列 df['formatted_date'] = df['date'].dt.strftime('%d.%m.%Y') print(df)
运行后会得到包含原始序列号、datetime对象和格式化日期的DataFrame,其中44288对应的格式化日期即为02.04.2021。
内容的提问来源于stack exchange,提问作者anon.for
相关产品推荐
相关产品推荐

