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

Python实现:按日期范围读取子文件夹指定CSV并合并

按日期区间合并指定CSV文件为单个DataFrame

针对你的需求,这里给出完善后的代码实现,解决子文件夹日期筛选和文件匹配的问题:

import pandas as pd
from pathlib import Path

# 配置参数:日期区间和主文件夹路径
start_date = '20230101'
end_date = '20230227'
main_dir = r"\Main-Folder-Path"  # 使用原始字符串避免Windows路径转义问题

df_collection = []

# 遍历主文件夹下的所有子项,筛选符合日期范围的子文件夹
for sub_item in Path(main_dir).iterdir():
    # 判断是否为文件夹,且名称在指定日期区间内
    if sub_item.is_dir() and start_date <= sub_item.name <= end_date:
        # 在目标子文件夹中匹配所有符合格式的CSV文件
        for target_csv in sub_item.glob("Some_File-*.csv"):
            # 读取CSV,可选添加来源日期列用于溯源
            temp_df = pd.read_csv(target_csv)
            temp_df['source_folder_date'] = sub_item.name
            df_collection.append(temp_df)

# 合并所有DataFrame为单个数据集,重置索引
final_df = pd.concat(df_collection, ignore_index=True)

关键说明:

  • 日期筛选逻辑:由于子文件夹名称是YYYYMMDD格式的字符串,直接用字符串比较就能实现日期区间判断,无需额外转换日期格式
  • 路径处理:使用pathlib.Path处理路径更简洁,避免手动拼接路径的错误;Windows路径建议用原始字符串(前缀r)防止转义字符干扰
  • 数据溯源:添加source_folder_date列可以标记每条数据来自哪个日期的子文件夹,后续排查数据问题更方便
  • 索引重置:concat时设置ignore_index=True,避免合并后出现重复的索引值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 08:24:59