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

如何用占位符遍历路径仅年份不同的同名Excel文件?若不可行该怎么做?

遍历不同年份文件夹下的同名Excel文件:占位符方案及替代方法

当然可以通过「Year」的占位符思路来实现这个需求,而且这是非常直接高效的做法!本质上就是把路径中变化的「Year」部分用变量代替,再结合循环来遍历所有目标年份对应的文件夹。

一、用占位符(变量)实现的具体步骤

  • 第一步:先整理出所有需要遍历的年份列表,比如years = [2020, 2021, 2022, 2023]
  • 第二步:定义路径模板,把变化的Year部分用占位符替换,比如用Python的f-string或者格式化字符串来实现
  • 第三步:循环年份列表,逐个生成完整路径,然后处理对应的Excel文件

代码示例(Python)

import os
import pandas as pd

# 你需要处理的目标年份列表
target_years = [2020, 2021, 2022, 2023]
# 路径模板,{year}就是Year的占位符
path_template = r"C:\Main\Division\Reports\{year}\Data.xls"

for year in target_years:
    full_path = path_template.format(year=year)
    # 先检查文件是否存在,避免报错
    if os.path.exists(full_path):
        df = pd.read_excel(full_path)
        # 这里写你对Excel文件的处理逻辑,比如合并数据、统计分析等
        print(f"已处理{year}年的文件:{full_path}")
    else:
        print(f"警告:{year}年的文件不存在,请检查路径:{full_path}")

二、不确定年份列表时的替代方法

要是你不确定Reports目录下有哪些年份文件夹,或者不想手动维护年份列表,可以自动遍历目录下的子文件夹,筛选出符合年份格式的文件夹,再拼接文件路径:

代码示例(Python)

import os
import pandas as pd

# 基础路径
base_dir = r"C:\Main\Division\Reports"
# 固定的文件名
file_name = "Data.xls"

# 遍历Reports下的所有子文件夹
for folder_name in os.listdir(base_dir):
    folder_path = os.path.join(base_dir, folder_name)
    # 检查是否是文件夹,且名称是数字格式的年份
    if os.path.isdir(folder_path) and folder_name.isdigit():
        full_path = os.path.join(folder_path, file_name)
        if os.path.exists(full_path):
            df = pd.read_excel(full_path)
            # 处理逻辑
            print(f"已处理{folder_name}年的文件:{full_path}")
        else:
            print(f"警告:{folder_name}年的文件夹下未找到{file_name}")

两种方案的适用场景

  • 占位符+固定年份列表:适合你明确知道要处理哪些年份的场景,代码简洁且可控性强;
  • 自动遍历文件夹:适合年份文件夹不固定、需要自动发现的场景,灵活性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:06:37