Python Openpyxl拆分Excel表格教程:按列拆分并保留标题行
Python Openpyxl拆分Excel表格教程:按列拆分并保留标题行
本教程将引导你使用Python的openpyxl库,按指定列的值将一个Excel表格拆分成多个新的工作表,并保留标题行。
1. 安装openpyxl库
如果你还没有安装openpyxl库,可以使用pip安装:bashpip install openpyxl
2. 导入库并打开Excel文件pythonimport openpyxl
打开Excel文件wb = openpyxl.load_workbook('工作簿1.xlsx')
获取第一个工作表sheet = wb.worksheets[0]
3. 冻结A1窗格 (可选)python# 冻结A1窗格sheet.freeze_panes = 'A2'
4. 获取第二行内容作为标题行python# 获取第二行所有单元格的内容row2_values = []for cell in sheet[2]: row2_values.append(cell.value)print(row2_values)
5. 按第一列拆分表格python# 提取第一列的值col1_values = [row[0].value for row in sheet.iter_rows(min_row=2)]
遍历第一列的唯一值for value in set(col1_values): # 创建新的工作表 new_sheet = wb.create_sheet(title=str(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])
保存修改后的Excel文件wb.save('拆分后的工作簿.xlsx')
代码解释:
- 我们首先使用
load_workbook()函数打开Excel文件。2. 然后,我们使用worksheets[0]获取第一个工作表。3. 可选步骤:使用sheet.freeze_panes = 'A2'冻结A1窗格,方便查看数据。4. 使用循环遍历第二行,获取标题行内容。5. 提取第一列的值,并使用set()函数获取唯一值列表。6. 循环遍历唯一值列表,为每个值创建一个新的工作表。7. 在每个新工作表中添加标题行。8. 再次循环遍历原始工作表,将符合条件的行添加到对应的新工作表中。9. 最后,使用save()函数保存修改后的Excel文件。
通过以上步骤,你就可以使用Python openpyxl库轻松地按指定列的值拆分Excel表格,并保留标题行了。 This will help you to manage and analyze your data more efficiently.
原文地址: https://www.cveoy.top/t/topic/fXan 著作权归作者所有。请勿转载和采集!