如何使用pandas将文件夹中4个Excel文件分别拼接为2个dataframe?
实现方法
你只需要先把匹配到的Excel文件路径单独存为列表,做顺序确认后再分片拼接即可,注意最好先对路径列表做排序,保证文件顺序符合你的预期:
import pandas as pd import glob # 替换为你的文件夹路径 file_folder = # the path # 匹配所有xlsx文件并按文件名升序排序 excel_list = sorted(glob.glob(f"{file_folder}/*.xlsx")) # 校验文件数量是否为4,避免出错 if len(excel_list) != 4: raise ValueError("当前文件夹下.xlsx格式文件数量不等于4,请检查路径配置") # 前2个文件拼接为df1 df1 = pd.concat([pd.read_excel(file) for file in excel_list[:2]], ignore_index=True) # 后2个文件拼接为df2 df2 = pd.concat([pd.read_excel(file) for file in excel_list[2:]], ignore_index=True)
注意说明
- 新增的
sorted()用来固定文件排序规则,避免glob默认返回的文件顺序和你预期的文件名顺序不一致,拿错文件 - 列表分片语法
[:2]表示取列表前2个元素,[2:]表示取从第3个元素开始到末尾的所有元素,刚好适配你4个文件的拆分需求 - 加了文件数量校验,避免文件夹内文件数量异常导致拼接结果不符合预期
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

