如何用SQL提取当前日期往前推2年内的所有数据?
提取表格中近两年的日期数据
假设你的表格数据可以用Python的Pandas库处理(从CSV/Excel等文件读取或已存在于DataFrame中),以下是实现自动筛选当前日期往前推2年至当日数据的方案:
步骤说明
- 确保
Date列被识别为日期格式 - 自动计算时间范围:起始日期 = 当前日期 - 2年,结束日期 = 当前日期
- 按时间范围筛选数据
完整代码示例
import pandas as pd from datetime import datetime, timedelta # 1. 读取表格数据(示例:Excel用pd.read_excel,CSV用pd.read_csv) # 这里用你提供的示例数据模拟 data = { 'Date': ['2022-07-24', '2021-02-01', '2020-04-30'], 'B': ['Selena', 'Katy', 'Snoop'], 'C': [1234, 6789, 4324] } df = pd.DataFrame(data) # 2. 将Date列转换为datetime类型,确保日期比较有效 df['Date'] = pd.to_datetime(df['Date']) # 3. 计算时间范围 current_date = datetime.today().date() start_date = current_date - timedelta(days=365*2) # 按两年365天计算 # 4. 筛选符合条件的数据 filtered_df = df[(df['Date'].dt.date >= start_date) & (df['Date'].dt.date <= current_date)] # 输出结果 print(filtered_df)
补充说明
- 如果需要更精确的年份计算(适配闰年、月份天数差异),可以使用
dateutil库的relativedelta替代timedelta:from dateutil.relativedelta import relativedelta start_date = current_date - relativedelta(years=2) - 代码运行时会自动获取当日日期,无需手动调整时间范围参数。
内容的提问来源于stack exchange,提问作者Madness
相关产品推荐
相关产品推荐

