Python操作Excel全攻略:openpyxl库解析

17 下载量 55 浏览量 更新于2024-08-29 收藏 55KB PDF 举报
"本文将介绍如何使用Python中的openpyxl库来操作Excel表格,包括安装、读取、编辑、追加、删除以及写入文件等基本操作。" 在Python编程中,处理Excel文件是一项常见的任务,而openpyxl库提供了一个方便的接口来实现这一目的。首先,我们来看一下openpyxl的安装。在命令行环境中,可以通过`pip install openpyxl`命令进行安装。如果系统中同时存在Python2和Python3,可能需要使用`pip3`代替`pip`,以确保安装到正确的Python版本中。 对于Excel文件的读取,openpyxl定义了几个核心类:Workbook代表整个Excel文件,Worksheet表示单个工作表,而Cell则代表单个单元格。假设我们有一个名为"sample.xlsx"的文件,其中包含两个工作表sheet1和sheet2。我们可以使用`openpyxl.load_workbook()`函数加载文件,并通过`sheetnames`属性获取所有工作表的名字。例如: ```python import openpyxl wb = openpyxl.load_workbook('data/src/sample.xlsx') print(type(wb)) # 输出:<class 'openpyxl.workbook.workbook.Workbook'> print(wb.sheetnames) # 输出:['sheet1', 'sheet2'] ``` 接下来,我们可以通过工作表名称从Workbook对象中获取特定的工作表,例如: ```python sheet = wb['sheet1'] print(type(sheet)) # 输出:<class 'openpyxl.workbook.sheet_sheet.Worksheet'> ``` 要访问单元格的值,可以直接通过单元格坐标引用,如`sheet['A2']`,这将返回一个Cell对象,其`value`属性包含了单元格的内容: ```python cell = sheet['A2'] print(type(cell)) # 输出:<class 'openpyxl.cell.cell.Cell'> print(cell.value) # 输出:'one' ``` 此外,我们还可以使用`cell()`方法来获取指定行和列的单元格,注意行和列的索引是从1开始的: ```python cell = sheet.cell(row=2, column=1) print(type(cell)) # 输出:<class 'openpyxl.cell.cell.Cell'> ``` 对于单元格的编辑,可以直接修改`Cell`对象的`value`属性。例如,将单元格A2的值改为'two updated': ```python cell.value = 'two updated' ``` 关于工作表的管理,可以使用`create_sheet()`方法添加新的工作表,`copy_worksheet()`方法复制现有工作表,以及`remove()`方法删除工作表。例如,要添加一个名为'sheet3'的新工作表: ```python new_sheet = wb.create_sheet('sheet3') ``` 至于写入Excel文件,`openpyxl`支持创建新文件或覆盖已有文件保存。创建新文件时,首先创建Workbook对象,然后向其中添加Worksheet,设置单元格值,最后调用`save()`方法保存文件。例如: ```python from openpyxl import Workbook # 创建新Workbook wb = Workbook() ws = wb.active ws['A1'] = 'Hello' ws['B1'] = 'World' # 保存到文件 wb.save('new_file.xlsx') ``` 如果需要覆盖保存,只需加载原有文件,完成编辑后再次调用`save()`方法即可。 openpyxl库提供了强大的功能来处理Excel文件,无论是读取、编辑、创建还是保存,都能满足日常的编程需求。通过熟练掌握这些基本操作,你可以轻松地在Python程序中进行Excel数据的处理和分析。