python openpyxl的使用方法

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库可以大大方便我们的数据处理和数据分析工作。

后端开发标签