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

如何用Glob通配符匹配带日期后缀的CSV文件(Pandas场景)

用通配符匹配带日期后缀的CSV文件并读取(Pandas + Glob)

针对带动态日期后缀的CSV文件(比如file-name_20220814.csv),可以通过以下方式结合glob模块解决:

通配符匹配规则

直接用*通配符替换日期部分,匹配模式写为:files/file-name_*.csv,这个模式会匹配所有以file-name_开头、.csv结尾的文件。如果需要更严格匹配8位数字的日期(避免无关文件被误匹配),可以用精准模式:files/file-name_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].csv,不过日常场景下*通配符已经足够实用。

修改后的代码示例

基础版(读取匹配到的第一个文件)

import pandas as pd
import glob

# 获取所有符合规则的文件路径
matched_files = glob.glob('files/file-name_*.csv')

# 读取第一个匹配到的文件
if matched_files:
    df1 = pd.read_csv(matched_files[0])
else:
    print("未找到匹配的文件")

进阶版(读取最新生成/修改的文件)

如果目录下有多个带日期后缀的文件,通常需要读取最新的那个,可以结合os模块按文件修改时间排序:

import pandas as pd
import glob
import os

# 获取匹配的文件路径
matched_files = glob.glob('files/file-name_*.csv')

if matched_files:
    # 按文件修改时间倒序排序,取第一个即为最新文件
    matched_files.sort(key=lambda x: os.path.getmtime(x), reverse=True)
    latest_file = matched_files[0]
    df1 = pd.read_csv(latest_file)
else:
    print("未找到匹配的文件")

补充说明

  • 若能确保目录下只有一个符合规则的文件,基础版代码即可满足需求
  • 也可以直接按文件名中的日期字符串排序,效果和按修改时间一致(前提是文件名的日期与文件生成时间同步)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:45:46