如何将Excel序列日期转换为Python中的YYYY-MM-DD格式日期
将Excel序列日期转换为YYYY-MM-DD格式
原始数据
| Date | Price |
|---|---|
| 40179 | 7.65 |
| 10210 | 6.87 |
转换需求
将Date列的Excel序列日期转为YYYY-MM-DD格式,预期结果:
| Date | Price |
|---|---|
| 2010-01-01 | 7.65 |
| 2010-02-01 | 6.87 |
方法一:Excel内置操作
直接修改单元格格式
- 选中Date列的所有数字单元格
- 右键选择「设置单元格格式」
- 在弹窗中选择「日期」分类,类型选「YYYY-MM-DD」,确认即可。
函数转换(保留原始数据)
若需保留原始序列日期,同时生成转换后日期,使用DATE函数修正Excel 1900年闰年bug:
在空白单元格输入公式,下拉填充即可:
=DATE(1900,1,1)+A1-2
之后将生成的单元格格式设置为YYYY-MM-DD。
方法二:Python批量转换
借助datetime模块处理批量数据:
from datetime import datetime, timedelta def excel_serial_to_date(serial_num): # 修正Excel 1900系统的闰年bug,基准日期设为1899-12-30 base_date = datetime(1899, 12, 30) converted_date = base_date + timedelta(days=serial_num) return converted_date.strftime("%Y-%m-%d") # 测试转换 serial_dates = [40179, 10210] for num in serial_dates: print(excel_serial_to_date(num))
输出结果:
2010-01-01 2010-02-01
内容的提问来源于stack exchange,提问作者Jorge Liakopulos
相关产品推荐
相关产品推荐

