Python Openpyxl 拆分 Excel 表格:按第一列重复内容分表
使用 Python Openpyxl 拆分 Excel 表格
本文将介绍如何使用 Python 3.8 版本的 openpyxl 库来拆分 Excel 表格。代码将实现以下功能:
- 冻结 A1 窗格
- 获取第二行所有单元格的内容
- 将第一列单元格中重复内容的所有行拆分到新的工作表中,并以重复内容命名工作表,同时将第二行单元格内容作为表头。
代码示例
import openpyxl
# 定义 col1_values 变量,获取第一列单元格内容
# ...
# 打开 Excel 文件
wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\工作簿1.xlsx')
# 获取第一个工作表
sheet = wb.worksheets[0]
# 冻结 A1 窗格
sheet.freeze_panes = 'A2'
# 获取第二行所有单元格的内容
row2_values = []
for cell in sheet[2]:
row2_values.append(cell.value)
print(row2_values)
# 将第一列单元格中重复内容的所有行拆分成新的工作表
for value in set(col1_values[1:]):
new_sheet = wb.create_sheet(title=value)
new_sheet.append(row2_values)
for row in sheet.iter_rows(min_row=2):
if row[0].value == value:
new_sheet.append([cell.value for cell in row])
代码说明
- 导入 openpyxl 库:
import openpyxl - 打开 Excel 文件:
wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\工作簿1.xlsx') - 获取第一个工作表:
sheet = wb.worksheets[0] - 冻结 A1 窗格:
sheet.freeze_panes = 'A2' - 获取第二行所有单元格的内容:
row2_values = [],通过循环遍历第二行所有单元格,将单元格的值添加到row2_values列表中。 - 拆分表格:
- 遍历第一列中所有重复内容:
for value in set(col1_values[1:]) - 创建新的工作表,以重复内容命名:
new_sheet = wb.create_sheet(title=value) - 将第二行单元格内容作为表头添加到新工作表:
new_sheet.append(row2_values) - 遍历原工作表中所有行,判断第一列单元格的值是否等于当前重复内容,如果是,则将该行所有单元格内容添加到新工作表:
for row in sheet.iter_rows(min_row=2):if row[0].value == value:new_sheet.append([cell.value for cell in row])
- 遍历第一列中所有重复内容:
注意
代码中 col1_values 变量未定义,需要在代码执行前先定义该变量,以获取第一列单元格内容。
总结
本代码演示了如何使用 Python Openpyxl 库拆分 Excel 表格,并添加了冻结 A1 窗格、获取第二行单元格内容作为表头等功能。希望本代码能够帮助您更好地使用 openpyxl 库处理 Excel 表格。
原文地址: https://www.cveoy.top/t/topic/laCu 著作权归作者所有。请勿转载和采集!