利用python30以上的版本将excel表格拆分成若干个新表首先冻结窗格A1筛选第二行按照姓名把所有行内容生成新的表格生成的新表格按照筛选的姓名命名并带有原表中冻结的窗格
A1。具体实现代码如下:
import openpyxl
# 打开原始表格
wb = openpyxl.load_workbook('原始表格.xlsx')
# 获取第一个工作表
ws = wb.worksheets[0]
# 冻结窗格A1
ws.freeze_panes = 'A2'
# 获取所有行数据
rows = list(ws.rows)
# 获取所有的姓名
names = set([cell.value for cell in rows[1]])
# 遍历所有姓名,生成新表格
for name in names:
# 创建一个新的工作表
new_ws = wb.create_sheet(title=name)
# 写入第一行数据
for i, cell in enumerate(rows[0]):
new_ws.cell(row=1, column=i+1, value=cell.value)
# 写入符合条件的数据
row_idx = 2
for row in rows[2:]:
if row[1].value == name:
for i, cell in enumerate(row):
new_ws.cell(row=row_idx, column=i+1, value=cell.value)
row_idx += 1
# 写入冻结窗格A1
new_ws.freeze_panes = 'A2'
# 保存修改后的表格
wb.save('修改后的表格.xlsx')
此代码会将原始表格拆分成多个新表格,每个新表格的名称为筛选出的姓名,并带有原表中冻结窗格A1。每个新表格中只包含符合条件的数据
原文地址: http://www.cveoy.top/t/topic/goK1 著作权归作者所有。请勿转载和采集!