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

Python中字符串转datetime及DataFrame日期列转格式导出Excel问题

Python日期格式转换问题解答

1. 如何在Python中将字符串转换为datetime类型?

使用datetime模块的strptime()方法即可实现,该方法通过指定格式匹配符来解析字符串格式的日期,格式符必须与输入字符串的结构完全对应。

示例代码(对应参考代码的yy-mm-dd格式场景):

from datetime import datetime

# 示例日期字符串,格式为两位年份-月份-日期
reference_date_str = "24-05-20"
# 解析为datetime对象,%y对应两位年份,%m对应两位月份,%d对应两位日期
reference_date_obj = datetime.strptime(reference_date_str, '%y-%m-%d')

常用格式符说明:

  • %y:两位数字年份(如24代表2024)
  • %Y:四位数字年份(如2024)
  • %m:两位数字月份(01-12)
  • %d:两位数字日期(01-31)

2. DataFrame中月.日格式的日期列转换为datetime并保留格式导出Excel

针对仅包含月.日(如02.03)的日期列,需先补充年份(建议指定明确年份避免歧义),再通过pandas转换为datetime类型,最后用支持日期格式的引擎导出Excel即可保留格式。

步骤示例:

import pandas as pd
from datetime import datetime

# 构造示例DataFrame
df = pd.DataFrame({'date_col': ['02.03', '05.12', '10.01']})

# 方式1:显式补充年份(推荐,避免自动补全的歧义)
target_year = 2024  # 可替换为需要的年份
df['date_col'] = df['date_col'].apply(lambda x: f"{target_year}.{x}")
# 解析为datetime类型
df['date_col'] = pd.to_datetime(df['date_col'], format='%Y.%m.%d')

# 方式2:自动补全当前年份(适合无需指定固定年份的场景)
# df['date_col'] = pd.to_datetime(df['date_col'], format='%m.%d')

# 导出至Excel,使用openpyxl引擎保留日期格式(需提前安装:pip install openpyxl)
df.to_excel('formatted_dates.xlsx', index=False, engine='openpyxl')

导出后,Excel会自动将该列识别为日期格式,可直接使用Excel的日期相关功能。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:38:26