目录下多个excel文件需要列向合并(适用于具有相同表头)
- ①合并到同一个excel表中的一个sheet中
import os
import pandas as pd
# 将文件读取出来放一个列表里面
file_list = []
pwd = r'D:\work' # 获取文件目录
for root,dirs,files in os.walk(pwd): # 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
# print("迭代过程:\n",root,"\n-----",dirs,"\n-----",files)
for file in files:
# print("-----文件名:",file)
file_path = os.path.join(root,file)
file_list.append(file_path)#获取文件夹下所有文件名完整路径名
* 这里的file_list是包含文件夹下所有文件名完整路径的列表
df= pd.DataFrame()
for i in file_list:
df1 = pd.read_excel(i)
df = pd.concat([df,df1])
df.to_excel(rf'{pwd}\test.xlsx',index=False)#想要存放的目录
②合并到同一个excel表中的不同sheet中
pwd = r'D:\work' # 获取文件目录
pd.ExcelWriter(rf'{pwd}\test.xlsx',engine='openpyxl',mode='a')
for root,dirs,files in os.walk(pwd):
for file in files:
df1.to_excel(writer,sheet_name=file,index= False)
writer.save()
writer.close()