Python中openpyxl实现vlookup函数的实例


Posted in Python onOctober 28, 2020

相信很多学编程的人都对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函数的实例的文章就介绍到这了,更多相关Python基础之openpyxl如何实现vlookup函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
Python中extend和append的区别讲解
Jan 24 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
python实现Dijkstra算法的最短路径问题
Jun 21 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
pandas 选取行和列数据的方法详解
Aug 08 Python
Python高级特性之闭包与装饰器实例详解
Nov 19 Python
在python中做正态性检验示例
Dec 09 Python
实现Python与STM32通信方式
Dec 18 Python
python基于pygame实现飞机大作战小游戏
Nov 19 Python
PyCharm最新激活码(2020/10/27全网最新)
Oct 27 #Python
Python下使用Trackbar实现绘图板
Oct 27 #Python
python openCV自制绘画板
Oct 27 #Python
如何在windows下安装配置python工具Ulipad
Oct 27 #Python
Python调用JavaScript代码的方法
Oct 27 #Python
Pycharm中如何关掉python console
Oct 27 #Python
python和C++共享内存传输图像的示例
Oct 27 #Python
You might like
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
完美解决在oj中Python的循环输入问题
2018/06/25 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
Python集合操作方法详解
2020/02/09 Python
python批量修改xml属性的实现方式
2020/03/05 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
自荐信要包含哪些内容
2013/11/06 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
实习生矿工检讨书
2014/10/13 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
经理聘任证明
2015/03/02 职场文书
vue实现移动端div拖动效果
2022/03/03 Vue.js
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL