Python Openpyxl拆分Excel表格:根据第一列重复内容创建新工作表
Python Openpyxl拆分Excel表格:根据第一列重复内容创建新工作表/n/n本文将介绍使用Python 3.8版本的Openpyxl库对Excel表格进行拆分操作,根据第一列单元格中重复的内容创建新的工作表。同时,我们将实现以下功能:/n/n* 冻结A1窗格/n* 获取第二行单元格的所有内容/n* 获取第一列单元格的所有内容/n* 将第一列单元格中重复内容的所有行拆分到新的工作表中,新的工作表名称为重复单元格内容+重复数量内容/n/n最后,我们将保存修改后的Excel文件。/n/n完整代码如下:/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 = [cell.value for cell in sheet[2]]/n/n# 获取第一列所有单元格的内容/ncol1_values = [cell.value for cell in sheet['A']]/ncol1_values = col1_values[1:] # 排除A1单元格/n/n# 将第一列单元格中重复内容的所有行拆分到新的工作表中/nfor value in set(col1_values):/n count = col1_values.count(value)/n if count > 1:/n new_sheet = wb.create_sheet(title=f'{value}({count})')/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# 保存Excel文件/nwb.save(r'C:/Users/Administrator/Desktop/工作簿1.xlsx')/n/n/n代码解释:/n/n1. 导入Openpyxl库: import openpyxl/n2. 打开Excel文件:wb = openpyxl.load_workbook(r'C:/Users/Administrator/Desktop/工作簿1.xlsx')/n3. 获取第一个工作表:sheet = wb.worksheets[0]/n4. 冻结A1窗格:sheet.freeze_panes = 'A2'/n5. 获取第二行所有单元格的内容:row2_values = [cell.value for cell in sheet[2]]/n6. 获取第一列所有单元格的内容:col1_values = [cell.value for cell in sheet['A']]/n7. 排除A1单元格:col1_values = col1_values[1:]/n8. 遍历第一列单元格中的重复内容:for value in set(col1_values)/n9. 创建新的工作表:new_sheet = wb.create_sheet(title=f'{value}({count})')/n10. 将第二行单元格内容添加到新工作表:new_sheet.append(row2_values)/n11. 将第一列中重复内容对应行的数据添加到新工作表:/npython/nfor 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/n12. 保存修改后的Excel文件:wb.save(r'C:/Users/Administrator/Desktop/工作簿1.xlsx')/n/n注意:/n/n* 请将代码中的文件路径替换为您的实际文件路径。/n* 代码中使用了 set 函数获取第一列单元格中不重复的内容,并使用 count 函数统计每个值的重复次数。/n* 在创建新的工作表时,工作表名称使用 f-string 格式化字符串,将重复内容和重复次数拼接在一起。/n/n希望本文对您有所帮助!如果您还有其他问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/fXaI 著作权归作者所有。请勿转载和采集!