在Python中提取日期中的年份和月份,可以通过以下两种主要方法实现:
一、使用 datetime
模块
-
获取当前日期时间并提取
使用
datetime.now()
获取当前日期时间对象,通过属性访问年份和月份。from datetime import datetime # 获取当前日期时间 now = datetime.now() print("当前日期:", now) print("年份:", now.year) print("月份:", now.month)
-
格式化日期字符串
使用
strftime
方法将日期时间对象格式化为指定格式(如%Y-%m
)。formatted_date = now.strftime("%Y-%m") print("格式化后的年月:", formatted_date)
二、使用 pandas
库
适用于处理数据框(如从文件读取的表格数据)。
-
读取数据并转换日期格式
使用
read_csv
或read_excel
读取数据,将日期列转换为datetime
类型。import pandas as pd # 读取CSV文件 df = pd.read_csv('data.csv') df['date'] = pd.to_datetime(df['date'])
-
提取年月信息
使用
dt
访问器属性提取年份、月份等。# 提取年份 df['year'] = df['date'].dt.year print(df[df['year'] == 2025]) # 提取月份 df['month'] = df['date'].dt.month print(df[df['month'] == 5]) # 组合年月为新的列 df['年月'] = df['date'].dt.strftime('%Y-%m') print(df.head())
三、注意事项
-
时区处理 :
datetime.now()
返回的是本地时间,若需处理UTC时间,可使用datetime.utcnow()
。 -
错误处理 :使用
pd.to_datetime()
时,若日期格式错误会抛出异常,建议添加参数errors='coerce'
将错误值转为NaT
。
通过以上方法,可灵活提取日期中的年份和月份信息,根据具体需求选择合适的方式。