You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas将指定Excel文件合并为多工作表文件?

批量合并Excel文件为多工作表文件的实现方案

前置准备

首先安装所需的Python库:

pip install openpyxl

完整代码实现

import openpyxl
import os

# 配置参数
source_dir = "./"  # 替换为你的Excel文件所在目录
output_filename = "合并结果.xlsx"

# 初始化目标工作簿
target_workbook = openpyxl.Workbook()
target_workbook.remove(target_workbook.active)  # 删除默认创建的空白工作表

# 遍历目标文件并合并
for num in range(1, 11):
    if num == 5:
        continue  # 跳过5_mock文件
    
    file_name = f"{num}_mock.xlsx"
    file_path = os.path.join(source_dir, file_name)
    
    if not os.path.exists(file_path):
        print(f"跳过不存在的文件:{file_name}")
        continue
    
    # 加载源文件
    source_workbook = openpyxl.load_workbook(file_path)
    source_sheet = source_workbook.active
    
    # 在目标工作簿中创建新工作表,以文件名命名
    new_sheet = target_workbook.create_sheet(title=file_name.replace(".xlsx", ""))
    
    # 复制单元格内容与格式(如需仅复制内容,可简化下方代码)
    for row in source_sheet.iter_rows(values_only=False):
        for cell in row:
            # 复制单元格值
            new_sheet[cell.coordinate].value = cell.value
            # 复制格式(字体、填充、边框、对齐方式)
            new_sheet[cell.coordinate].font = openpyxl.styles.Font(**{k: v for k, v in vars(cell.font).items() if not k.startswith('_')})
            new_sheet[cell.coordinate].fill = cell.fill.copy()
            new_sheet[cell.coordinate].border = cell.border.copy()
            new_sheet[cell.coordinate].alignment = cell.alignment.copy()
    
    print(f"已完成文件合并:{file_name}")

# 保存最终结果
target_workbook.save(output_filename)
print(f"合并完成,结果已保存至:{output_filename}")

代码说明

  • 路径配置:将source_dir替换为你的Excel文件实际存放路径
  • 跳过指定文件:通过if num ==5: continue实现跳过5_mock.xlsx
  • 工作表命名:新工作表以原文件名(去掉后缀)命名,便于区分
  • 格式保留:代码中保留了原单元格的格式(字体、填充等),如果不需要格式,可将复制部分替换为以下简化版本,提升运行速度:
    for row in source_sheet.iter_rows(values_only=True):
        new_sheet.append(row)
    
  • 异常处理:代码中加入了文件存在性检查,避免因文件缺失导致报错

内容的提问来源于stack exchange,提问作者Megan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 11:45:55