如何用openpyxl在Python中实现类似Excel的vlookup功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1109个文字,预计阅读时间需要5分钟。
在众多学编程的人中,大家对VLOOKUP函数都不陌生。对于一些在Excel中处理大量数据的场景,使用Python可以轻松解决。以下介绍如何在openpyxl库中实现类似VLOOKUP的功能:
1. 数据源介绍 如下图所示,有一个数据源工作表,包含姓名和对应的成绩信息。
| 姓名 | 成绩 | |------|------| | 张三 | 90 | | 李四 | 85 | | 王五 | 92 | | ... | ... |
2. 实现VLOOKUP函数 在Python中,我们可以使用openpyxl库来实现类似VLOOKUP的功能。以下是一个简单的示例:
python from openpyxl import load_workbook
# 加载数据源工作簿 wb=load_workbook('data.xlsx') ws=wb['数据源']
# 定义VLOOKUP函数 def vlookup(key, data, col_index): for i, row in enumerate(data): if row[0]==key: return row[col_index] return None
# 调用VLOOKUP函数 result=vlookup('张三', ws.values, 1) print(result) # 输出:90
在这个示例中,我们首先加载数据源工作簿,然后定义了一个名为`vlookup`的函数,它接收三个参数:`key`(要查找的键),`data`(数据源),和`col_index`(返回结果的列索引)。函数通过遍历数据源,查找与`key`相匹配的行,并返回对应列的值。如果没有找到匹配项,则返回`None`。
通过这种方式,我们可以轻松地在Python中实现类似VLOOKUP的功能,并且可以处理更复杂的场景。
相信很多学编程的人都对Vlookup函数不陌生,一些在excel中不方便处理的大量数据,用Python就可以轻松解决。下面介绍openpyxl库中如何实现vlookup函数 :
1.数据源介绍
如图所示,有一个“ vlookup.xlsx ”文件,“ A1:F11 ”是我们的数据源区域,“ K1:L5 ”是我们的查找源区域。我们的目的就是要在数据源区域的 G 列加一列数据,查找出不同类型下名称表示。
2.Vlookup函数介绍
这个函数我想大家应该都会,大家应该也不需要我介绍的太详细,因此我就简单的为大家介绍一下 vlookup 函数的语法。
- 参数说明:vlookup (待查找目标, 查找区域, 匹配值所在的列, 精确匹配 OR 模糊查找);
- 用一句通俗的话来说明 vlookup 函数的用法:针对每一个待查找目标,它就能从指定的查找区域中,查找返回想要查找到的值。
3.Excel中使用Vlookup函数
针对上述提到的数据源,了解 Vlookup 函数的语法后,下面来看看如何在 Excel 中使用 Vlookup 函数。
观察上图:首先,我们在G1单元格新增了一个“名称”列。接着,在 G2 单元格我们写了一个 vlookup 公式,E2表示每一个待查找值,K1:L5表示待查找区域,我们使用 F3 快捷键将这个区域变为了绝对引用,因为我们的查找区域就是这一个固定范围,2表示待返回值在查找区域中所在的列数,0表示精确匹配。最后,使用填充柄下拉填充即可。
4.Python中使用Vlookup函数
在 Python 中利用 openpyxl 库,就可以完成公式的填充。因此在使用 openpyxl 之前,需要使用 pip install openpyxl 安装好这个库。
from openpyxl import load_workbook
workbook = load_workbook("vlookup.xlsx")
sheet = workbook["Sheet1"]
sheet["G1"] = "名称"
for i in range(2,sheet.max_row+1):
sheet[f"G{i}"] = f'=VLOOKUP(E{i},$K$1:$L$5,2,0)'
workbook.save(filename = "vllokup1.xlsx")
在 openpyxl 中,读取已有的 Excel 文件,使用到的是load_workbook类,因此需要提前导入这个类。接着,实例化 load_workbook("vlookup.xlsx")对象,得到一个工作簿对象。然后,使用workbook["Sheet1"]激活该工作簿中的 Sheet1 表,表示我们要针对这个表进行操作。完成上述操作后,下面就可以进行 vlookup 公式的填写了。
首先,我们利用sheet["G1"] = "名称"给 G1单元格增加了一个表头。然后写了一个循环,循环第2行到最后一行,针对每一个 G 列单元格,我们写入上述 vlookup 公式。最后记得保存一下即可。
到此这篇关于Python中openpyxl实现vlookup函数的实例的文章就介绍到这了,更多相关Python基础之openpyxl如何实现vlookup函数内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!
本文共计1109个文字,预计阅读时间需要5分钟。
在众多学编程的人中,大家对VLOOKUP函数都不陌生。对于一些在Excel中处理大量数据的场景,使用Python可以轻松解决。以下介绍如何在openpyxl库中实现类似VLOOKUP的功能:
1. 数据源介绍 如下图所示,有一个数据源工作表,包含姓名和对应的成绩信息。
| 姓名 | 成绩 | |------|------| | 张三 | 90 | | 李四 | 85 | | 王五 | 92 | | ... | ... |
2. 实现VLOOKUP函数 在Python中,我们可以使用openpyxl库来实现类似VLOOKUP的功能。以下是一个简单的示例:
python from openpyxl import load_workbook
# 加载数据源工作簿 wb=load_workbook('data.xlsx') ws=wb['数据源']
# 定义VLOOKUP函数 def vlookup(key, data, col_index): for i, row in enumerate(data): if row[0]==key: return row[col_index] return None
# 调用VLOOKUP函数 result=vlookup('张三', ws.values, 1) print(result) # 输出:90
在这个示例中,我们首先加载数据源工作簿,然后定义了一个名为`vlookup`的函数,它接收三个参数:`key`(要查找的键),`data`(数据源),和`col_index`(返回结果的列索引)。函数通过遍历数据源,查找与`key`相匹配的行,并返回对应列的值。如果没有找到匹配项,则返回`None`。
通过这种方式,我们可以轻松地在Python中实现类似VLOOKUP的功能,并且可以处理更复杂的场景。
相信很多学编程的人都对Vlookup函数不陌生,一些在excel中不方便处理的大量数据,用Python就可以轻松解决。下面介绍openpyxl库中如何实现vlookup函数 :
1.数据源介绍
如图所示,有一个“ vlookup.xlsx ”文件,“ A1:F11 ”是我们的数据源区域,“ K1:L5 ”是我们的查找源区域。我们的目的就是要在数据源区域的 G 列加一列数据,查找出不同类型下名称表示。
2.Vlookup函数介绍
这个函数我想大家应该都会,大家应该也不需要我介绍的太详细,因此我就简单的为大家介绍一下 vlookup 函数的语法。
- 参数说明:vlookup (待查找目标, 查找区域, 匹配值所在的列, 精确匹配 OR 模糊查找);
- 用一句通俗的话来说明 vlookup 函数的用法:针对每一个待查找目标,它就能从指定的查找区域中,查找返回想要查找到的值。
3.Excel中使用Vlookup函数
针对上述提到的数据源,了解 Vlookup 函数的语法后,下面来看看如何在 Excel 中使用 Vlookup 函数。
观察上图:首先,我们在G1单元格新增了一个“名称”列。接着,在 G2 单元格我们写了一个 vlookup 公式,E2表示每一个待查找值,K1:L5表示待查找区域,我们使用 F3 快捷键将这个区域变为了绝对引用,因为我们的查找区域就是这一个固定范围,2表示待返回值在查找区域中所在的列数,0表示精确匹配。最后,使用填充柄下拉填充即可。
4.Python中使用Vlookup函数
在 Python 中利用 openpyxl 库,就可以完成公式的填充。因此在使用 openpyxl 之前,需要使用 pip install openpyxl 安装好这个库。
from openpyxl import load_workbook
workbook = load_workbook("vlookup.xlsx")
sheet = workbook["Sheet1"]
sheet["G1"] = "名称"
for i in range(2,sheet.max_row+1):
sheet[f"G{i}"] = f'=VLOOKUP(E{i},$K$1:$L$5,2,0)'
workbook.save(filename = "vllokup1.xlsx")
在 openpyxl 中,读取已有的 Excel 文件,使用到的是load_workbook类,因此需要提前导入这个类。接着,实例化 load_workbook("vlookup.xlsx")对象,得到一个工作簿对象。然后,使用workbook["Sheet1"]激活该工作簿中的 Sheet1 表,表示我们要针对这个表进行操作。完成上述操作后,下面就可以进行 vlookup 公式的填写了。
首先,我们利用sheet["G1"] = "名称"给 G1单元格增加了一个表头。然后写了一个循环,循环第2行到最后一行,针对每一个 G 列单元格,我们写入上述 vlookup 公式。最后记得保存一下即可。
到此这篇关于Python中openpyxl实现vlookup函数的实例的文章就介绍到这了,更多相关Python基础之openpyxl如何实现vlookup函数内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

