如何在Python字典中存储年份、月份目录及文件路径?
整理Excel文件目录为字典结构
你可以通过遍历os.walk的结果,提取年份、月份和文件路径,构建层级字典。以下是实现代码:
import os file_dict = {} root_dir = "../../../../ema_monthly_reports" for root, dirs, files in os.walk(root_dir): # 只有月份目录下存在Excel文件,年份目录下仅包含子目录 if files: # 拆分路径,提取年份和月份 path_parts = os.path.normpath(root).split(os.sep) year = path_parts[-2] month = path_parts[-1] # 初始化年份对应的子字典 if year not in file_dict: file_dict[year] = {} # 拼接文件完整路径(每个月份目录下仅一个文件) file_path = os.path.join(root, files[0]) file_dict[year][month] = file_path
最终字典结构示例
运行后你会得到层级清晰的字典,方便按年份、月份快速定位文件:
{ "2022": { "1": "../../../../ema_monthly_reports/2022/1/Basic Facilities.csv", "2": "../../../../ema_monthly_reports/2022/2/Basic Facilities.csv", # ... 其他月份条目 "12": "../../../../ema_monthly_reports/2022/12/Basic Facilities.csv" }, "2023": { "1": "../../../../ema_monthly_reports/2023/1/Basic Facilities.xlsx" } }
额外说明
- 用
os.path.normpath和os.sep处理路径,适配Windows/macOS/Linux不同的路径分隔符 - 如果你不需要完整路径,仅需文件名,直接用
files[0]替换代码中的file_path即可
内容的提问来源于stack exchange,提问作者hamid
相关产品推荐
相关产品推荐

