Python openpyxl操作Excel:读取与创建指南

6 下载量 87 浏览量 更新于2024-08-31 收藏 152KB PDF 举报
"这篇文章主要讲解了Python中使用openpyxl库操作Excel的详细步骤和常用方法,涵盖了从读取到写入,再到修改和管理Excel工作表的各种功能。" 在Python编程中,openpyxl是一个非常实用的库,用于处理Microsoft Excel的XLSX文件。以下将详细介绍openpyxl的一些关键功能和操作步骤。 一、前言 在学习openpyxl之前,我们需要了解它能为我们提供的功能。通过这个库,我们可以读取现有的Excel文件,创建新的工作表,更新或删除已有工作表,以及对工作表中的数据进行各种操作。掌握这些技能后,你将能够更高效地处理Excel数据。 二、openpyxl常用属性和函数 1. `openpyxl.load_workbook()`: 加载已经存在的Excel工作簿,返回一个Workbook对象。 2. `Workbook.active`: 获取默认活动的工作表。 3. `Workbook.create_sheet()`: 创建一个新的工作表。 4. `Workbook.get_sheet_names()`(已过时): 获取所有工作表的名称,现在推荐使用`workbook.sheetnames`。 5. `workbook.sheetnames`: 返回一个包含所有工作表名称的列表。 6. `workbook.get_sheet_by_name(name)`(已过时): 根据名称获取工作表对象,现在推荐使用索引或名称直接访问。 7. `workbook[sheetname]`: 通过工作表名称获取工作表对象。 8. `workbook.copy_worksheet(source)`: 复制一个工作表。 9. `sheet[cell]`: 通过单元格坐标获取单元格对象。 10. `sheet.cell(row, column, value=None)`: 创建或获取指定行和列的单元格对象,可设置值。 11. `sheet[cell, cell]`: 访问多个单元格。 12. `sheet.iter_rows(min_row, max_col, max_row)` 和 `sheet.iter_cols(min_row, max_col, max_row)`: 分别返回多行和多列,用于批量访问单元格。 13. `sheet.rows` 和 `sheet.columns`: 获取所有行和列的迭代器。 14. `cell.value`: 获取单元格的值。 15. `sheet.merge_cells()` 和 `sheet.unmerge_cells()`: 合并和取消合并单元格。 三、读取Excel 1. 加载工作簿:使用`openpyxl.load_workbook()`加载Excel文件,例如`wb = openpyxl.load_workbook('zszxz.xlsx')`。 2. 获取工作表:通过`wb['zszxz']`或`wb.get_sheet_by_name('zszxz')`获取名为'zszxz'的工作表。 3. 访问单元格:如`cell = sheet['A1']`获取A1单元格,然后`value = cell.value`获取其值。 4. 读取多行或列:利用`sheet.iter_rows()`或`sheet.iter_cols()`遍历指定范围的单元格。 四、写入Excel 写入Excel的基本流程包括创建工作表、设置单元格值和保存工作簿。例如,要创建新单元格并写入值,可以使用`sheet.cell(row=1, column=1, value='测试')`,然后调用`wb.save('output.xlsx')`保存更改。 五、其他操作 除了读取和写入,openpyxl还支持对工作表的操作,如添加新工作表、删除工作表、重命名工作表等。例如,`wb.create_sheet('新工作表')`创建新工作表,`wb.remove(sheet)`删除工作表。 openpyxl是Python处理Excel的强大工具,通过熟练掌握上述方法,你可以实现对Excel文件的全面控制。无论是数据分析、报表生成还是自动化任务,openpyxl都能提供有力的支持。