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

Python实现多日期按范围筛选、分组间隔统计计数功能

日期数据批量统计处理方案

前置依赖

直接使用Python标准库即可运行,无需额外安装第三方依赖包。

可直接运行代码

import csv
from datetime import datetime

# 定义有效日期范围
START_DATE = datetime.strptime("2022-12-01", "%Y-%m-%d")
END_DATE = datetime.strptime("2024-12-31", "%Y-%m-%d")

def is_valid_date(date_str):
    """判断日期是否在有效范围内"""
    try:
        dt = datetime.strptime(date_str.strip(), "%Y-%m-%d")
        return START_DATE <= dt <= END_DATE, dt
    except:
        return False, None

def process_line(date_list):
    """处理单行12个日期,返回最终计数值"""
    total = 0
    # 每2个日期分为一组
    for i in range(0, len(date_list), 2):
        d1_str, d2_str = date_list[i], date_list[i+1]
        d1_valid, d1 = is_valid_date(d1_str)
        d2_valid, d2 = is_valid_date(d2_str)
        valid_count = sum([d1_valid, d2_valid])
        if valid_count == 0:
            group_score = 0
        elif valid_count == 1:
            group_score = 1
        else:
            # 两个都有效,计算间隔天数
            delta = abs((d2 - d1).days)
            group_score = 1 if delta < 90 else 2
        total += group_score
    return total

if __name__ == "__main__":
    # 输入输出文件路径,可根据实际修改
    input_path = "你的输入文件路径.csv"
    output_path = "统计结果.csv"
    
    with open(input_path, 'r', encoding='utf-8') as f_in, open(output_path, 'w', encoding='utf-8', newline='') as f_out:
        reader = csv.reader(f_in)
        writer = csv.writer(f_out)
        # 可选:如果输入文件有表头,先读表头并写入输出,新增结果列
        header = next(reader)
        writer.writerow(header + ["统计结果"])
        for row in reader:
            # 取每行前12个日期字段处理,可根据实际列顺序调整
            date_fields = row[:12]
            res = process_line(date_fields)
            writer.writerow(row + [res])

使用说明

  • 将你的数据文件存为CSV格式,确保每行前12列为对应的12个日期,日期格式统一为YYYY-MM-DD
  • 替换代码中你的输入文件路径为本地文件的实际存储路径
  • 运行代码后会在指定输出路径生成结果文件,最后一列即为每行的最终统计值

示例验证

  • 示例1输入序列:2023-01-01, 2023-01-02, 2024-01-01, 2019-01-01,计算得结果为2,符合预期
  • 示例2输入序列:2023-01-01, 2023-01-02, 2024-01-01, 2024-05-01,计算得结果为3,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:36:04