Python Openpyxl 拆分 Excel 表格:将工作表按指定行数分割
本文将介绍如何使用 Python 3.8 版本的 Openpyxl 库来拆分 Excel 表格。代码将先获取所有工作表,然后对每个工作表进行拆分,将其中的数据按指定行数拆分成多个小表格,并将这些小表格保存为新的工作表。
以下是示例代码:
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook('example.xlsx')
# 获取所有工作表
sheets = workbook.sheetnames
# 遍历每个工作表
for sheet_name in sheets:
sheet = workbook[sheet_name]
row_count = sheet.max_row # 获取行数
col_count = sheet.max_column # 获取列数
chunk_size = 100 # 指定每个小表格的行数
# 按指定行数拆分表格
for i in range(1, row_count, chunk_size):
# 新建小表格
new_sheet_name = f'{sheet_name}_{i}-{i+chunk_size-1}'
new_sheet = workbook.create_sheet(title=new_sheet_name)
# 复制表头
for j in range(1, col_count+1):
new_sheet.cell(row=1, column=j, value=sheet.cell(row=1, column=j).value)
# 复制数据
for j in range(i, min(i+chunk_size, row_count)+1):
for k in range(1, col_count+1):
new_sheet.cell(row=j-i+2, column=k, value=sheet.cell(row=j, column=k).value)
# 删除原工作表
workbook.remove(sheet)
# 保存 Excel 文件
workbook.save('example_split.xlsx')
此代码将原 Excel 文件中的每个工作表按指定行数拆分成多个小表格,并将这些小表格保存为新的工作表,保存的文件名为example_split.xlsx。其中,指定的每个小表格的行数为 100,可以根据需要进行修改。
操作步骤:
- 安装 Openpyxl 库:
pip install openpyxl - 将代码中的
example.xlsx替换为你的 Excel 文件名 - 运行代码
- 代码运行完成后,将在当前目录下生成名为
example_split.xlsx的新 Excel 文件
注意:
- 代码中的
chunk_size代表每个小表格的行数,可以根据需要进行修改 - 代码会删除原工作表,如果需要保留原工作表,请将
workbook.remove(sheet)注释掉 - 此代码适用于单个工作表,如果有多个工作表,则需要循环遍历每个工作表,并分别进行拆分
原文地址: https://www.cveoy.top/t/topic/fXcD 著作权归作者所有。请勿转载和采集!