使用Python Openpyxl 拆分Excel表格并提取数据

本教程将演示如何使用Python的Openpyxl库来操作Excel文件,包括:

  • 打开Excel文件* 冻结窗格* 获取指定行和列的数据* 根据特定列的值拆分表格到新的工作表

代码示例pythonimport openpyxl

打开Excel文件wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\工作簿1.xlsx')

获取第一个工作表sheet = wb.worksheets[0]

冻结A1窗格sheet.freeze_panes = 'A2'

获取第二行所有单元格的内容row2_values = [cell.value for cell in sheet[2]]

获取第一列所有单元格的内容col1_values = [cell.value for cell in sheet['A']]

从第二行开始,将第一列单元格中重复内容的所有行拆分到新的工作表中for i, value in enumerate(col1_values[1:], start=2): if value != col1_values[i-2]: # 创建新的工作表 new_sheet = wb.create_sheet(title=value) # 写入第一行和第二行的数据 new_sheet.append(row2_values) new_sheet.append(col1_values[:2]) # 写入当前行的数据 new_sheet.append([cell.value for cell in sheet[i]])

保存Excel文件wb.save(r'C:\Users\Administrator\Desktop\工作簿1.xlsx')

代码解释

  1. 导入 openpyxl 库: python import openpyxl

  2. 打开Excel文件: python wb = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\工作簿1.xlsx') 使用 load_workbook() 函数打开指定路径的Excel文件。

  3. 获取第一个工作表: python sheet = wb.worksheets[0]

  4. 冻结A1窗格: python sheet.freeze_panes = 'A2' 将A1单元格冻结,方便查看数据。

  5. 获取第二行所有单元格的内容: python row2_values = [cell.value for cell in sheet[2]] 使用列表推导式获取第二行所有单元格的值。

  6. 获取第一列所有单元格的内容: python col1_values = [cell.value for cell in sheet['A']] 使用列表推导式获取第一列所有单元格的值。

  7. 拆分表格: python for i, value in enumerate(col1_values[1:], start=2): if value != col1_values[i-2]: # 创建新的工作表 new_sheet = wb.create_sheet(title=value) # 写入第一行和第二行的数据 new_sheet.append(row2_values) new_sheet.append(col1_values[:2]) # 写入当前行的数据 new_sheet.append([cell.value for cell in sheet[i]]) 遍历第一列的值,如果当前值与上一个值不同,则创建新的工作表,并将数据写入对应的工作表。

  8. 保存Excel文件: python wb.save(r'C:\Users\Administrator\Desktop\工作簿1.xlsx') 保存修改后的Excel文件。

总结

本教程介绍了使用Python Openpyxl库操作Excel文件的基本方法,包括打开文件、冻结窗格、获取行列数据以及拆分表格。你可以根据实际需求修改和扩展代码,实现更复杂的操作。

Python Openpyxl教程:拆分Excel表格、冻结窗格、提取行列数据

原文地址: https://www.cveoy.top/t/topic/fXaw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录