使用python实现excel的Vlookup功能
作者:Bule飞鱼 时间:2023-05-01 20:15:15
python 如何实现Excel 的Vlookup功能
1、Excel 中VLOOKUP具体步骤
Excel 中的VLOOKUP使用说明采用下面的小示例进行说明:
背景:目前有两个基础表,分别是 学号-姓名 关系表,学号-课程 关系表。
目的:最终生成 学号-姓名-课程 关系表。
vlookup语法:VLOOKUP(查找值,数据表,列序数,[匹配条件])
注意:vlookup属于要注意匹配的左右。比如用学号来匹配课程的话,查找值就是学号,数据表就是学生-课程表。列序数就是课程所在的第2列。匹配条件 一般是FALSE,即精确匹配。
需要注意的是:vlookup使用的是python中的left模式。
查找表没有对应学号的,匹不出相应的值,在基础表上就会显示 #N/A;
查找表有对应学号的,且有重复值时,在基础表上只会优先匹配第一个值(这部分在python中,将全部都匹配上重复的。)
2、Python中使用pandas包中的pd.merge()来实现
利用pd.merge()将DataFrame 和 Series进行匹配。
pd.merge(left, right, how = ‘inner', on = None, left_on = None, right_on = None,
left_index = False, right_index = False, sort = True, suffixes = (‘_x','_y'),
copy = True, indicator = False, validate = None)
参数说明:
参数 | 说明 |
left | 左表 |
right | 右表 |
how | 连接方式,inner、left、right、outer,默认为inner |
on | 用于连接的列名称 |
left_on | 左表用于连接的列名 |
right_on | 右表用于连接的列名 |
left_index | 是否使用左表的行索引作为连接键,默认False |
right_index | 是否使用右表的行索引作为连接键,默认False |
sort | 默认为False,将合并的数据进行排序 |
copy | 默认为True,总是将数据复制到数据结构中,设置为False可以提高性能 |
suffixes | 存在相同列名时在列名后面添加的后缀,默认为(’_x’, ‘_y’) |
indicator | 显示合并数据中数据来自哪个表 |
注意事项:
当两个表用于连接的列名相同时,只需用on 来连接 ;
当两个表用于连接的列名不同时,则需要使用left_on和right_on分别连接。
如果是两个DataFrame 进行匹配时,则匹配后会将DataFrame中所有的列都添加进去。
vlookup中的匹配连接方式属于how=left。
重复行会全部匹配。
下面是两个表:
为方便大家理解,下面是python 中不同匹配方式的结果:
示例示例
上述语法也可以使用下面的方式:
来源:https://blog.csdn.net/katherine717/article/details/125278247
标签:python,实现,excel,Vlookup
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
pytest多重断言的实现
2021-10-12 03:30:25
Python编程pydantic触发及访问错误处理
2021-05-19 20:49:07
![](https://img.aspxhome.com/file/2023/4/105604_0s.jpg)
使用批处理脚本自动生成并上传NuGet包(操作方法)
2021-12-24 18:05:34
![](https://img.aspxhome.com/file/2023/7/105707_0s.png)
Python OpenCV对图像进行模糊处理详解流程
2022-05-16 03:54:19
![](https://img.aspxhome.com/file/2023/5/86675_0s.png)
判断网页编码的方法python版
2022-06-29 10:01:18
Python中try excpet BaseException(异常处理捕获)的使用
2023-07-30 16:21:37
![](https://img.aspxhome.com/file/2023/0/71520_0s.png)
详解Linux下安装php环境并且配置Nginx支持php-fpm模块
2023-11-11 02:02:50
![](https://img.aspxhome.com/file/2023/5/64195_0s.png)
解析Go语言编程中的struct结构
2024-04-25 13:21:11
linux实现定时备份mysql数据库的简单方法
2024-01-16 07:21:57
Python实现定时任务的八种方案详解
2022-04-19 06:54:03
![](https://img.aspxhome.com/file/2023/5/130765_0s.jpg)
一个无组件上传的ASP代码
2007-10-09 19:49:00
2018年最值得一读的互联网书单
2022-04-13 20:40:37
![](https://img.aspxhome.com/file/2023/7/109527_0s.jpg)
详解JavaScript 中的批处理和缓存
2024-04-28 09:48:03
Python 循环读取数据内存不足的解决方案
2022-02-25 17:32:17
![](https://img.aspxhome.com/file/2023/1/80771_0s.jpg)
Django 实现图片上传和下载功能
2023-01-14 09:53:21
![](https://img.aspxhome.com/file/2023/2/109442_0s.png)
xWin之JS版
2009-09-12 18:45:00
Python图片验证码降噪和8邻域降噪
2023-09-16 10:05:49
![](https://img.aspxhome.com/file/2023/2/95562_0s.bmp)
Python依赖管理及打包工具Poetry使用规范
2021-06-02 13:21:43
Vue 3.x+axios跨域方案的踩坑指南
2024-05-09 09:21:15
在select语句中使用top的一些小技巧
2009-03-12 12:21:00