如何批量导入文件名前缀相同的Excel文件到pandas并拼接为单个dataframe
批量读取指定前缀Excel文件并拼接为DataFrame的实现方法
你可以通过Python标准库glob的通配符匹配功能,自动筛选所有符合前缀规则的Excel文件,再批量读取拼接,无需手动逐个声明文件路径,具体实现如下:
完整实现代码
import pandas as pd import glob # 匹配C盘根目录下所有前缀为Answer、后缀为xlsx的文件 target_file_pattern = "C:/Answer*.xlsx" # 批量读取所有匹配到的文件 df_list = [] for file_path in glob.glob(target_file_pattern): # 可根据实际需求调整read_excel的参数,比如指定sheet页、表头行等 temp_df = pd.read_excel(file_path) df_list.append(temp_df) # 拼接所有表,ignore_index会重置索引避免原有索引重复 final_df = pd.concat(df_list, ignore_index=True)
可选优化项
- 若需要溯源数据来自哪个文件,可以在读取时新增源文件名列:
temp_df = pd.read_excel(file_path) # 新增列存储当前文件路径 temp_df['source_file'] = file_path df_list.append(temp_df) - 若代码足够熟练也可以用列表推导式简化写法,运行效率和循环一致:
import pandas as pd import glob final_df = pd.concat([pd.read_excel(p) for p in glob.glob("C:/Answer*.xlsx")], ignore_index=True)
内容的提问来源于stack exchange,提问作者Kardu
相关产品推荐
相关产品推荐

