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

Python如何忽略文件名末尾随机数字段匹配导入目标CSV文件

解决方案

核心逻辑是放弃硬编码完整文件名,用通配符匹配固定前缀的方式,自动忽略末尾随机变动的数字段。

实现步骤

  • 用原始字符串写法定义文件存储目录,规避Windows路径反斜杠的转义问题
  • 用strftime生成带确定日期的文件名前缀,末尾用通配符*代替随机数字段组成匹配规则
  • 遍历目录找到符合规则的目标文件,增加数量校验避免读错文件
  • 读取匹配到的唯一目标文件即可

代码实现

import pandas as pd
import glob
import os

# 定义文件存储目录,r开头的原始字符串不会解析反斜杠转义
target_folder = r'I:\Example\import'
# 构造匹配规则:固定日期前缀+任意后缀的csv文件
file_pattern = yesterday.strftime('Example_NEW_%Y-%m-%d-*.csv')
# 拼接完整匹配路径
match_path = os.path.join(target_folder, file_pattern)

# 拉取所有符合规则的文件列表
result_files = glob.glob(match_path)

# 校验文件数量,正常情况每日仅生成1个符合规则的文件
if len(result_files) != 1:
    raise ValueError(f"目标文件匹配异常,当前找到{len(result_files)}个符合条件的文件:{result_files}")

# 读取文件
data = pd.read_csv(result_files[0])

关键说明

  • 通配符*可以匹配任意长度的任意字符,不管末尾随机段是00-00-48还是其他数字组合,都能正常命中目标文件
  • 不要直接在路径字符串里写单个反斜杠,不加原始字符串标记的话,\E、\i这类组合容易被Python识别为转义字符,导致路径报错
  • 增加文件数量校验是为了避免目录下残留同日期前缀的历史文件、或者当日文件未生成时,代码静默读错数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:03:10