如何使用循环简化Pandas多Excel文件合并脚本?
优化后的Pandas脚本方案
直接通过循环批量读取文件,避免重复冗余代码,同时完全保留原有合并逻辑:
import pandas as pd # 定义文件路径模板,减少重复书写 base_path = r"C:\Users\H\Desktop\Files\Table{}.xlsx" # 构建要读取的文件序号列表:先加入22,再生成3到21的序列 file_numbers = [22] + list(range(3, 22)) # 循环读取所有文件,存入DataFrame列表 df_list = [] for num in file_numbers: df = pd.read_excel(base_path.format(num)) df_list.append(df) # 合并所有DataFrame,保持原有的inner连接规则 merged_df = pd.concat(df_list, join='inner') # 输出到目标文件 merged_df.to_excel(r'C:\Users\H\Desktop\Files\Allweeks.xlsx', sheet_name='sheet1', index=False)
核心优化说明:
- 使用路径模板结合
format方法动态生成文件路径,避免重复书写冗长的固定路径 - 用
range(3,22)快速生成3到21的整数序列,配合初始的22,一次性构建所有目标文件的序号集合 - 用列表统一存储读取的DataFrame,最后一次性传入
pd.concat,比逐个定义变量更简洁、易维护 - 完全保留原代码的
join='inner'连接方式和输出参数,确保合并结果与原逻辑一致
内容的提问来源于stack exchange,提问作者user19674077
相关产品推荐
相关产品推荐

