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

Python如何基于日期自动匹配绝对路径下的CSV文件并导入

Python自动匹配固定命名规则下最新CSV文件实现

核心逻辑不需要反复修改文件名配置,只需要首次配置好固定的目录路径、文件名前缀后缀、日期匹配规则,后续运行会自动筛出目标文件、定位最新版本,同时可以直接对接旧文件清理逻辑。

实现代码

适配/home/Download/目录、固定前缀+变动日期+.csv后缀的命名场景,代码如下:

import os
import re

# 以下三个参数仅需首次配置,后续运行无需修改
TARGET_DIR = "/home/Download/"
FIXED_PREFIX = "filename-"  # 替换为你实际的固定文件名前缀
FIXED_SUFFIX = ".csv"
# 正则匹配规则:默认适配8位年月日(YYYYMMDD)格式的日期段,其他日期格式修改对应正则即可
name_match_rule = re.compile(rf"^{re.escape(FIXED_PREFIX)}(\d{{8}}){re.escape(FIXED_SUFFIX)}$")

def fetch_latest_target_csv():
    valid_files = []
    # 遍历目标目录下所有条目
    for entry in os.listdir(TARGET_DIR):
        full_path = os.path.join(TARGET_DIR, entry)
        # 跳过子目录、软链等非普通文件
        if not os.path.isfile(full_path):
            continue
        match_result = name_match_rule.match(entry)
        if match_result:
            # 提取文件名中的日期段,YYYYMMDD格式字符串的字典序和日期时序完全一致,可直接排序
            date_segment = match_result.group(1)
            valid_files.append( (date_segment, entry, full_path) )
    if not valid_files:
        raise FileNotFoundError("目标目录下未找到符合命名规则的CSV文件")
    # 按日期段倒序排列,第一条就是最新文件
    valid_files.sort(reverse=True, key=lambda x: x[0])
    return valid_files

if __name__ == "__main__":
    file_list = fetch_latest_target_csv()
    latest_file = file_list[0]
    print(f"定位到最新目标文件:{latest_file[2]}")

    # 清理其余旧文件逻辑,确认匹配规则正确后再放开执行
    # for _, _, old_file_path in file_list[1:]:
    #     os.remove(old_file_path)
    #     print(f"已清理冗余旧文件:{old_file_path}")

适配调整说明

  • 如果你的文件名日期段不是8位纯数字格式,比如是YYYY-MM-DD带横杠、或者YYMMDD短格式,只需要修改正则里括号内的日期匹配段即可。只要日期是补零的标准格式,字符串排序结果和日期先后顺序一致,不需要额外转时间对象,运行效率更高。
  • 如果日期段存在不补零的不规范格式(比如2024-5-3代表2024年5月3日),就把排序逻辑的key替换为datetime解析结果,导入datetime模块后将排序行改为valid_files.sort(reverse=True, key=lambda x: datetime.strptime(x[0], "%Y-%m-%d"))即可,日期格式字符串和你实际的日期段格式对应就行。
  • 正则里用re.escape()包裹固定前缀、后缀,是为了避免前缀里存在.、+这类正则特殊字符时匹配失效,不需要手动做转义处理。
  • 第一次运行建议先注释掉文件删除逻辑,打印所有匹配到的文件列表,确认匹配规则没有误匹配、漏匹配之后,再放开清理逻辑避免误删文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:54:18