Python 批量合并 Excel 文件到一个新文件中
以下是一个 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 中。
原文地址: https://www.cveoy.top/t/topic/ofgH 著作权归作者所有。请勿转载和采集!