7.2 Python操作Excel文件:openpyxl
7.2.1 openpyxl介绍
在Python中,有好几个可以用来操作excel文件的第三方库,比如:xlsxwriter、xlrd、xlwt、xlutils、pyexcel_xls等,但是这些第三方库对excel支持或多或少都有点小问题。
xlsxWriter:
1、支持新建和新建后的写入,不支持对已有的excel文件的读取和修改。
2、适合的场景:需要创建xlsx文件,不需要读,且数据量大;
xlrd & xlwt & xlutils:
1、对xls文件的读写和其他很多全面的功能,但是对xlsx的excel支持很差
2、适用的场景:要读取xls和xlsx文件中的值,最后生成xls文件,需要的功能不复杂。
在本章节中,将介绍openpyxl库来操作excel文件。Openpyxl是一个用于读取、写入Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它支持使用Python创建和修改Excel工作表、单元格、行和列等对象,并提供了许多操作Excel的方法。
以下是Openpyxl库的一些主要特点:
读取和写入Excel文件:Openpyxl可以读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件,支持使用Python读取和修改Excel文件中的数据。
创建和修改Excel工作表:使用Openpyxl可以创建新的Excel工作表,也可以修改现有的工作表。
操作单元格、行和列:Openpyxl提供了许多操作单元格、行和列的方法,例如获取单元格的值、设置单元格的格式、插入和删除行和列等。
支持公式:Openpyxl支持在Excel工作表中使用公式,可以使用Python创建和修改公式。
支持图表:Openpyxl支持在Excel工作表中创建和修改图表。
支持样式:Openpyxl支持设置单元格的样式,例如字体、颜色、对齐方式等。
支持数据验证:Openpyxl支持在Excel工作表中使用数据验证,可以限制用户在单元格中输入的数据类型和范围。
支持保护工作表:Openpyxl支持保护工作表,可以设置工作表的访问权限和密码。
总之,Openpyxl是一个功能强大的Python库,可以使用Python方便地进行Excel文件的读取和写入操作,适用于数据分析、数据清洗、报表生成等应用场景。
7.2.2 openpyxl库的安装
pip install openpyxl
7.2.3 创建工作簿和工作表
import openpyxl
def mtCreateNewWorkbook(pmWorkbookName="test.xlsx", pmSheetName="Sheet1"):
""" 创建一个新的工作簿 """
wb = openpyxl.Workbook() # 生成一个 Workbook 的实例化对象,wb即代表一个工作簿(一个Excel文件)
ws = wb.active # 获取活跃的工作表,ws代表工作簿的一个工作表
ws.title = pmSheetName # 更改工作表的名称
# 新建工作表,方式一:插入到最后(default)
ws1 = wb.create_sheet("Mysheet1")
# 新建工作表,方式二:插入到最开始的位置
ws2 = wb.create_sheet("Mysheet2"