相信很多学编程的人都对Vlookup函数不陌生,一些在excel中不方便处理的大量数据,用Python就可以轻松解决。下面介绍openpyxl库中如何实现vlookup函数 :

1.数据源介绍

如图所示,有一个“ vlookup.xlsx ”文件,“ A1:F11 ”是我们的数据源区域,“ K1:L5 ”是我们的查找源区域。我们的目的就是要在数据源区域的 G 列加一列数据,查找出不同类型下名称表示。

Python中openpyxl实现vlookup函数的实例

2.Vlookup函数介绍

这个函数我想大家应该都会,大家应该也不需要我介绍的太详细,因此我就简单的为大家介绍一下 vlookup 函数的语法。

  • 参数说明:vlookup (待查找目标, 查找区域, 匹配值所在的列, 精确匹配 OR 模糊查找);
  • 用一句通俗的话来说明 vlookup 函数的用法:针对每一个待查找目标,它就能从指定的查找区域中,查找返回想要查找到的值。

3.Excel中使用Vlookup函数

针对上述提到的数据源,了解 Vlookup 函数的语法后,下面来看看如何在 Excel 中使用 Vlookup 函数。

Python中openpyxl实现vlookup函数的实例

观察上图:首先,我们在 G1 单元格新增了一个“名称”列。接着,在 G2 单元格我们写了一个 vlookup 公式,E2 表示每一个待查找值,K1:L5 表示待查找区域,我们使用 F3 快捷键将这个区域变为了绝对引用,因为我们的查找区域就是这一个固定范围,表示待返回值在查找区域中所在的列数,表示精确匹配。最后,使用填充柄下拉填充即可。

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函数

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“Python中openpyxl实现vlookup函数的实例”

暂无“Python中openpyxl实现vlookup函数的实例”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?