临时使用的小工具存档
只合并了excel第一个sheet,稍微改一下就可以分别合并所有sheet了。
import sys
import pandas as pd
from pathlib import Path
#文件路径
file_dir = input('请输入合并Excel文件所在的位置路径:')
path = Path(file_dir)
#找到文件路径下的所有表格名称
name_list = [i.stem for i in path.glob("*.xls*")]
#判断是否存在文件
if not name_list:
print("文件不存在!\n")
input("请按回车键退出程序...")
sys.exit(1)
#提取sheet名
df = pd.ExcelFile(file_dir + '/' + name_list[0] + '.xlsx')
sheet_names = df.sheet_names
#读取所有文件
file_list = []
#for sheet in sheet_names:
file_sheet = [pd.concat([pd.read_excel(i, sheet_name=sheet_names[0])]) for i in path.glob("*.xls*")]
file_list.append(file_sheet)
#保存路径
writer = pd.ExcelWriter(path.joinpath('newExcel.xlsx'))
print(path.joinpath('newExcel.xlsx'))
#写入
j = 0
for file in file_list:
i = 0
data_list = []
for data in file:
data['责任人'] = name_list[i]
data_list.append(data)
i = i + 1
result = pd.concat(data_list, ignore_index=True)
result.to_excel(writer, sheet_name=sheet_names[j], index=False)
j = j + 1
# print(i)
writer.close()
input("合并完成!\n请按回车键退出程序...")