Python 中也可以写 Excel 中的 “Vlookup” 函数?太牛逼了吧!
作者:黄同学
Vlookup
函数,可以算是一个数据人必须要会使用的基本函数了,确实很好用。
但是你可能会注意到,Excel一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时你有没有想到过被称作“万金油”的Python,他好像啥都可以做,是不是很牛逼?
对于Excel来说 的大数据量,但是对于Python来说,应该是小菜一碟。
今天我就带着大家对比学习一下,怎么在Excel和Python中使用Vlookup
函数。
数据源介绍
如图所示,有一个“vlookup.xlsx”文件,“A1:F11”是我们的数据源区域,“K1:L5”表示我们的查找源区域。我们的目的就是要在数据源区域的G列加一列数据,查找出不同类型下名称表示。
Vlookup函数介绍
这个函数我想大家应该都会,大家应该也不需要我介绍的太详细,因此我就简单的为大家介绍一下vlookup函数的语法。
- 参数说明:vlookup(待查找目标, 查找区域, 匹配值所在的列, 精确匹配OR模糊查找);
- 用一句通俗的话来说名vlookup函数的用法:针对每一个待查找目标,它就能从指定的查找区域中,查找返回想要查找到的值。
Excel中使用Vlookup函数
针对上述提到的数据源,了解Vlookup函数的语法后,下面来看看如何在Excel中使用Vlookup函数。
观察上图:首先,我们在G1单元格新增了一个“名称”列。接着,在G2单元格我们写了一个vlookup公式,E2
表示每一个待查找值,K1:L5
表示待查找区域,我们使用F3快捷键将这个区域变为了绝对引用,因为我们的查找区域就是这一个固定范围,2
表示待返回值在查找区域中所在的列数,0
表示精确匹配。最后,使用填充柄下拉填充即可。
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公式。最后记得保存一下即可。
- [WCF权限控制]WCF自定义授权体系详解[原理篇]
- [WCF权限控制]WCF自定义授权体系详解[实例篇]
- [ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定
- [ASP.NET MVC]为HtmlHelper添加一个RadioButtonList扩展方法
- 在ASP.NET MVC中使用“RadioButtonList”和“CheckBoxList”
- [WCF REST] 一个简单的REST服务实例
- [WCF REST] 提高性能的一个有效的手段:条件资源获取(Conditional Retrieval)
- [WCF REST] 解决资源并发修改的一个有效的手段:条件更新(Conditional Update)
- [WCF REST] 通过ASP.NET Output Caching实现声明式缓存
- [WCF REST] 通过ASP.NET Output Caching实现声明式缓存
- CentOS6.5下安装JDK
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- 开源API测试工具 Hitchhiker v0.8 - 自动化测试结果统计
- 腾讯AI-JavaAPI示例代码
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python Django开发 经验技巧总结(一)
- Python SQLite 基本操作和经验技巧(二)
- AkShare-股票数据-主要股东
- 进程间通信的方式(1)
- Python Django开发 经验技巧总结(二)
- 进程间通信的方式(2)
- AkShare-股票数据-机构持股
- View的滑动方式 详细介绍
- AkShare-期货数据-分时数据
- Python 爬取留言板留言(三):多进程版+selenium模拟
- View事件分发、滑动冲突 详解
- Python Django开发 异常及其解决办法(一)
- 带你彻底搞懂-View的工作原理!
- Python 批量下载BiliBili视频 打包成软件
- 必要掌握!Window、WindowManager !