Python Openpyxl 库拆分表格并按表头内容创建新工作表
以下是利用 Python 3.8 版本 Openpyxl 库拆分表格的代码:
import openpyxl
# 打开 Excel 文件
wb = openpyxl.load_workbook('example.xlsx')
# 获取第一个工作表
sheet = wb.worksheets[0]
# 获取表头
header = {}
for col in range(1, sheet.max_column + 1):
cell = sheet.cell(row=2, column=col)
if cell.value:
header[cell.value] = col
# 按表头内容拆分表格
for row in range(3, sheet.max_row + 1):
# 获取当前行的表头内容
header_value = sheet.cell(row=row, column=header.keys()[0]).value
# 如果表头内容不存在,则跳过该行
if not header_value:
continue
# 创建新的工作表
new_sheet = wb.create_sheet(title=header_value)
# 复制表头到新的工作表
for col, header_name in header.items():
new_sheet.cell(row=1, column=col).value = header_name
new_sheet.cell(row=1, column=col)._style = sheet.cell(row=2, column=col)._style
# 复制符合条件的行到新的工作表
for col, header_name in header.items():
new_sheet.cell(row=row-2, column=col).value = sheet.cell(row=row, column=col).value
new_sheet.cell(row=row-2, column=col)._style = sheet.cell(row=row, column=col)._style
# 复制窗格 A1 的内容到新的工作表
new_sheet.cell(row=1, column=1).value = sheet.cell(row=1, column=1).value
new_sheet.cell(row=1, column=1)._style = sheet.cell(row=1, column=1)._style
# 保存 Excel 文件
wb.save('example_new.xlsx')
注:以上代码中的 'example.xlsx' 是需要拆分的原始 Excel 文件,'example_new.xlsx' 是拆分后的新 Excel 文件。
原文地址: https://www.cveoy.top/t/topic/laCt 著作权归作者所有。请勿转载和采集!