1. 简介
openpyxl是python语言的一个开源库,主要用于读取和编写excel文件,并且支持xlsx文件格式。该库具有简单易用、灵活、高效等特点,可以用来处理数据和数据分析,特别是在金融、物流等领域特别受欢迎。
本文主要介绍openpyxl库的使用方法,包括安装、读取excel文件、写入excel文件、格式化excel文件等。
2. 安装
使用openpyxl库之前,需要先安装该库。可以使用pip在命令行中进行安装:
pip install openpyxl
3. 读取excel文件
使用openpyxl读取excel文件可以很方便地进行数据处理。
3.1 打开excel文件
首先需要导入openpyxl库,并打开需要读取的excel文件,我们可以使用load_workbook()方法打开一个现有的工作簿。
代码示例:
from openpyxl import load_workbook
# 打开excel文件
workbook = load_workbook('example.xlsx')
3.2 获取工作表
获取工作表是我们读取excel文件的关键步骤,我们需要知道想要读取的工作表的名称或者索引号。可以使用以下任意一种方法获取工作表:
通过工作表名称获取工作表
通过索引号获取工作表
获取所有工作表名
3.2.1 通过工作表名称获取工作表
通过工作表名称获取工作表是最常用的获取工作表的方法,因为它非常直观,例如我们需要获取名为'Sheet1'的工作表:
# 获取工作表
sheet = workbook['Sheet1']
3.2.2 通过索引号获取工作表
有时候,可能只知道工作表的索引号,而不知道工作表的名称,可以通过以下方法获取出来:
# 通过索引号(从1开始)获取工作表
sheet = workbook.worksheets[0]
3.2.3 获取所有工作表名
使用以下方法获取所有工作表的名字:
# 获取所有工作表名
sheetnames = workbook.sheetnames
3.3 读取数据
获取到工作表之后,我们就可以使用openpyxl库提供的方法来读取excel文件中的数据,以下是读取excel文件中所有单元格的代码:
# 打开excel文件
workbook = load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 读取所有单元格
for row in sheet.rows:
for cell in row:
print(cell.value)
对于指定行和列,也可以使用以下方法来访问:
# 打开excel文件
workbook = load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 读取单元格
cell_value = sheet.cell(row=1, column=1).value # 获取A1单元格的值
4. 写入excel文件
使用openpyxl库写入excel文件也非常容易,只需获取到工作表,并使用库提供的方法来操作其中的单元格。
4.1 创建excel文件
创建一个新的excel文件也十分简单,只需使用workbook()方法即可:
# 创建新的excel文件
from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active
4.2 写入数据
写入数据的方式也非常简单,只需获取对应单元格,并插入所需数据即可:
# 向sheet中写入数据
sheet.cell(row=1, column=1).value = 'hello'
sheet.cell(row=1, column=2).value = 'world'
5. 格式化excel文件
在openpyxl中,您还可以更改单元格的格式,如添加背景颜色、字体、边框等。
5.1 添加背景颜色
要为单元格添加背景颜色,可以使用openpyxl.styles库中的样式类,例如填充(Fill),我们可以使用以下代码设置A1单元格的背景颜色为浅蓝色:
from openpyxl.styles import PatternFill
# 打开excel文件
workbook = load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 设置填充格式
fill = PatternFill(fill_type='solid', start_color='ADD8E6')
# 设置A1单元格背景颜色
sheet['A1'].fill = fill
5.2 设置字体样式
我们还可以在单元格中设置字体样式,包括字体、字号、颜色、粗体等。以下代码设置A1单元格中的文本为红色,字体为微软雅黑,字号为14,且为粗体:
from openpyxl.styles import Font
# 打开excel文件
workbook = load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 设置字体样式
font = Font(name='微软雅黑', size=14, color='FF0000', bold=True)
# 设置A1单元格字体样式
sheet['A1'].font = font
5.3 设置边框
要为单元格添加边框,可以使用openpyxl.styles库中的边框样式,例如设置边框线为红宽线,我们可以使用以下代码来设置单元格边框:
from openpyxl.styles import Border, Side
# 打开excel文件
workbook = load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 设置边框样式
border = Border(left=Side(border_style='thick', color='FF0000'),
right=Side(border_style='thick', color='FF0000'),
top=Side(border_style='thick', color='FF0000'),
bottom=Side(border_style='thick', color='FF0000'))
# 设置A1单元格边框
sheet['A1'].border = border
6. 总结
从本文中的介绍可以看出,openpyxl库提供了丰富的方法来处理excel文件,例如读取excel文件、写入excel文件、格式化excel文件。使用openpyxl库可以大大方便我们的数据处理和数据分析工作。