刚发完上一篇 使用Inscode (每天三次免费)
输入要求:Python 中使用openpyxl模块 将多个具有相同表头的excel文件合并到一个EXCEL文件
以下是给出的答案 ,先记录下 明天再来研究
import openpyxl
import os
# 定义函数,用于合并工作表
def merge_excel_files(folder_path, output_file):
# 获取目标文件夹下所有xlsx文件的文件名
file_list = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 创建新的工作簿
output_workbook = openpyxl.Workbook()
# 循环读取每个excel文件
for file_name in file_list:
# 打开excel文件
workbook = openpyxl.load_workbook(os.path.join(folder_path, file_name))
# 循环读取每个工作表
for sheet_name in workbook.sheetnames:
worksheet = workbook[sheet_name]
# 如果是第一个工作表,则直接将表头复制到新的工作簿
if sheet_name == workbook.sheetnames[0]:
output_worksheet = output_workbook.create_sheet(title=sheet_name)
for row in worksheet.iter_rows(min_row=1, max_row=1):
output_worksheet.append([cell.value for cell in row])
# 如果不是第一个工作表,则只复制数据
else:
output_worksheet = output_workbook[sheet_name]
for row in worksheet.iter_rows(min_row=2):
output_worksheet.append([cell.value for cell in row])
# 保存合并后的excel文件
output_workbook.save(output_file)
print('合并完成。')
# 调用函数,合并所有xlsx文件到一个名为merged.xlsx的文件中
merge_excel_files('excel文件夹路径', 'merged.xlsx')