Python Openpyxl 库拆分 Excel 表格:冻结窗格、获取数据、创建新工作表
Python Openpyxl 库拆分 Excel 表格:冻结窗格、获取数据、创建新工作表/n/n本代码示例展示了如何使用 Python 3.8 版本的 Openpyxl 库,对 Excel 表格进行拆分操作,并完成以下功能:/n/n1. 冻结 A1 窗格:使用 sheet.freeze_panes = 'A2' 命令冻结 A1 窗格,方便查看表格数据。/n2. 获取第二行所有单元格内容:使用循环遍历第二行所有单元格,并将其内容存储到列表 row2_values 中。/n3. 根据第一列重复内容创建新工作表:/n * 首先获取第一列所有单元格的内容,并找出重复的单元格内容。/n * 然后遍历重复的单元格内容,为每个内容创建新的工作表,并将其命名为重复内容的值。/n * 最后将第二行数据和第一列中对应重复内容的所有行数据添加到新工作表中。/n4. 删除原工作表:使用 wb.remove(sheet) 命令删除原工作表。/n5. 保存 Excel 文件:使用 wb.save(r'C:/Users/Administrator/Desktop/拆分后的工作簿.xlsx') 命令将拆分后的工作簿保存到指定的路径。/n/npython/nimport openpyxl/n/n# 打开 Excel 文件/nwb = openpyxl.load_workbook(r'C:/Users/Administrator/Desktop/工作簿1.xlsx')/n/n# 获取第一个工作表/nsheet = wb.worksheets[0]/n/n# 冻结 A1 窗格/nsheet.freeze_panes = 'A2'/n/n# 获取第二行所有单元格的内容/nrow2_values = []/nfor cell in sheet[2]:/n row2_values.append(cell.value)/nprint(row2_values)/n/n# 获取第一列所有单元格的内容/ncol1_values = []/nfor cell in sheet['A']:/n col1_values.append(cell.value)/n/n# 获取重复的单元格内容/nduplicate_values = set([x for x in col1_values if col1_values.count(x) > 1])/n/n# 将重复的单元格内容拆分成新的工作表/nfor value in duplicate_values:/n new_sheet = wb.create_sheet(title=value)/n new_sheet.append(row2_values)/n for row in sheet.iter_rows(min_row=2):/n if row[0].value == value:/n new_sheet.append([cell.value for cell in row])/n/n# 删除原工作表/nwb.remove(sheet)/n/n# 保存 Excel 文件/nwb.save(r'C:/Users/Administrator/Desktop/拆分后的工作簿.xlsx')/n/n/n注意:/n/n* 请将代码中的 工作簿1.xlsx 和 拆分后的工作簿.xlsx 替换为您的实际文件路径。/n* 该代码示例仅用于演示,您可能需要根据您的实际需求修改代码。/n
原文地址: https://www.cveoy.top/t/topic/fXal 著作权归作者所有。请勿转载和采集!