以下是一个 Python 脚本示例,用于将指定目录中的所有 Excel 文件合并到一个新的 Excel 文件中,每个原始文件对应一个新的 sheet。

import os
import openpyxl

# 指定目录路径和新 Excel 文件名
dir_path = '/path/to/excel/files'
new_file_name = 'new_file.xlsx'

# 创建新 Excel 文件对象
new_wb = openpyxl.Workbook()

# 获取目录中所有 Excel 文件名
file_names = [f for f in os.listdir(dir_path) if f.endswith('.xlsx')]

# 遍历所有 Excel 文件
for i, file_name in enumerate(file_names):
    # 打开 Excel 文件对象
    wb = openpyxl.load_workbook(os.path.join(dir_path, file_name))

    # 遍历所有 sheet
    for sheet_name in wb.sheetnames:
        # 获取当前 sheet 对象
        sheet = wb[sheet_name]

        # 判断新 Excel 文件中是否存在同名 sheet
        if sheet_name in new_wb.sheetnames:
            # 获取已存在的 sheet 对象
            new_sheet = new_wb[sheet_name]
        else:
            # 创建新的 sheet
            new_sheet = new_wb.create_sheet(sheet_name)

        # 遍历当前 sheet 中所有单元格
        for row in sheet.iter_rows():
            for cell in row:
                # 将单元格值复制到新 sheet 中
                new_sheet[cell.coordinate] = cell.value

# 保存新 Excel 文件
new_wb.save(os.path.join(dir_path, new_file_name))

运行以上程序,就可以将指定目录中的所有 Excel 文件的内容读取到一个新的 Excel 文件的不同 sheet 中。

Python 批量合并 Excel 文件到一个新文件中

原文地址: https://www.cveoy.top/t/topic/ofgH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录