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
相关产品推荐
相关产品推荐

