作者 | 朱小五

来源 | 快学Python

VLOOKUP函数大家应该都很熟悉吧,它可以帮我们根据指定的条件快速查找匹配出相应的结果,通常被用于核对、匹配多个表格之间的数据。与数据透视表,并称为数据er最常用的两大Excel功能。

那我们今天就聊聊,如何Python写Excel中的“Vlookup”函数?

Excel

如图所示,在“测试工资数据.xlsx”表格文件中有两个sheet,其中sheet1是我们的数据源区域,而sheet2存储的是待查找的员工姓名和工资。

在sheet2中,一列是员工姓名,一列是他们的对应工资。

vlookup函数就是在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。语法格式如下所示:

VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])

一般是匹配条件容易记混,如果为FALSE或0,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值。

openpyxl

在Python中利用openpyxl库,就可以完成公式的填充。因此在使用openpyxl之前,需要安装好这个库。

pip install openpyxl

在openpyxl中,读取已有的Excel文件,使用到的是load_workbook类,因此需要提前导入这个类。接着,实例化load_workbook("测试工资数据.xlsx")对象,得到一个工作簿对象。

然后,使用workbook["Sheet2"]激活该工作簿中的Sheet2表,表示我们要针对这个表进行操作。完成上述操作后,下面就可以进行vlookup公式的填写了。

from openpyxl import load_workbook workbook = load_workbook("测试工资数据.xlsx")
sheet = workbook["Sheet2"]sheet["B1"] = "基本工资(Python)"
for i in range(2, sheet.max_row+1): sheet[f"B{i}"] = f'=VLOOKUP(A{i},Sheet1!A:B,2,FALSE)'
workbook.save(filename = "vlookup.xlsx")

首先,我们利用sheet["B1"] = "基本工资(Python)"修改B1单元格位置的表头。然后通过for循环语句,循环第2行到最后一行,针对每一个B列单元格,我们都写入上述vlookup公式。

最后记得保存一下即可。

不过需要注意,Python操作Excel的优势在于处理大数据、或者重复性工作。在本次案例中,使用openpyxl库向Excel中写入Vlookup函数多少有点大材小用了。

经过openpyxl一番操作,如同庄周带净化。

Pandas

在这数据爆炸的时代,我们无时无刻不在和数据打交道。面对杂乱无章的数据Pandas 模块应运而生了,它提供了数据导入、数据清洗、数据处理、数据导出等一套流程方法,可以很方便地帮助我们自动整理数据[2]

那么Excel中的这种常用函数,Pandas模块自然也是可以轻松搞定了。

在 Pandas 模块中,调用merge()方法,可以帮助我们实现数据连接。

在交互式环境中输入如下命令:

import pandas as pd
path = "测试工资数据.xlsx"
df_1 = pd.read_excel(path, sheet_name = 'Sheet1')
df_2 = pd.read_excel(path, sheet_name = 'Sheet2')pd.merge(df_2["姓名"], df_1[["姓名", "基本工资"]], how="left", on="姓名")

这样我们就用Python(openpyxl + Pandas)实现了Excel中的“Vlookup”函数。

往期回顾

“如今,99%以上的代码都是垃圾!”

Deepfake 技术换脸真假难辨!

当你不再是程序员,很多事会脱离掌控

7岁男童因下棋太快,被机器人夹断手指?

分享
点收藏
点点赞
点在看

Python 也可以实现 Excel 中的 “Vlookup” 函数?相关推荐

  1. python vlookup 模糊_如何用python写excel中的vlookup函数?

    1.背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel 一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时 ...

  2. python中查看表头的函数_Python中也可以写Excel中的“Vlookup”函数?太牛逼了吧!...

    原标题:Python中也可以写Excel中的"Vlookup"函数?太牛逼了吧! Vlookup函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到, ...

  3. Python中也可以写Excel中的“Vlookup”函数?太牛逼了吧!

    来源:数据分析与统计学之美 Vlookup函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就 ...

  4. 使用 Python 和 Streamlit 从 Excel 中进行 VLOOKUP

    在做其他项目时,我无意中看到了 Streamlit 框架,它让我大吃一惊.它是一个开源框架,可帮助在几秒钟内构建 Web 应用程序.在此之前,我使用的是 Flask 库,它也很容易创建 Web 应用程 ...

  5. excel vlookup用法_Python中也可以写Excel中的“Vlookup”函数?太牛逼了吧!

    Vlookup函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时你有没有想到过 ...

  6. excel中的vlookup函数

    excel中的Vlookup函数多种查询 精确查询 反向查询 模糊查询 近似查询 跨表查询

  7. 用计算机VLOOKUP,教你在excel中使用VLOOKUP函数

    教你在excel中使用VLOOKUP函数 1.VLOOKUP函数的语法结构 整个计算机就相当于一门语言,首先就是要熟知该函数的语法结构. VLOOKUP(lookup_value, table_arr ...

  8. Excel中的Vlookup函数用法

    关于VLOOKUP函数的用法 "Lookup"的汉语意思是"查找",在Excel中与"Lookup"相关的函数有三个:VLOOKUP.HLO ...

  9. office Excel中的vlookup函数的使用

    最近在使用Excel整理数据,对于一些大量的诸如几十万甚至几百万条的数据,人工操作就只能呵呵了,这几天用了vlookup函数,很是提升效率,我就在这里记录一下我使用的过程以及心得,方便大家查看. 一. ...

最新文章

  1. 基于视觉模型强化学习的通用机器人
  2. 讨论Markov Random Field和Gibbs Random Field心得
  3. 伪共享 FalseSharing (CacheLine,MESI) 浅析以及解决方案
  4. 其他系统 对外接口设计_领导:项目有个接口要对外开放,小张你来设计一下?...
  5. html 右侧滚动条,html中去掉textarea右侧滚动条和右下角拖拽
  6. 两边定宽,中间自适应布局的四种实现方法
  7. gradle是干什么_gradle和ant等构建工具有什么核心优势?
  8. 20150317--TP
  9. win11u盘安装报错怎么办 windows11u盘安装报错的解决方法
  10. 使用Python解二元一次方程组
  11. Qt学习(一)ui界面的设计
  12. 计算机管理丢失computer文件,Win7弹框提示找不到Computer Management.lnk文件怎么办?...
  13. algorithm2e笔记,记录一下常规操作
  14. Learning Shape Representations for Clothing Variations in Person Re-Identification
  15. L1、L2正则VS L1、L2 loss
  16. Springboot整合JPA多数据源(Oracle+Mysql)
  17. 仿百度联想词下拉列表,键盘上下键选值
  18. 基于微信小程序的微相亲平台的设计与实现
  19. 映客都是互刷礼物吗_仿映客刷礼物效果---代码优化
  20. HarmonyOS流畅度,harmonyos系统

热门文章

  1. python可以这样学读后感_可爱的Python读后感精选10篇
  2. leetcode 876. 链表的中间结点 做题笔记
  3. OleDbConnection打开Excel文件报错
  4. 从浏览器输入URL到展示页面的全流程
  5. Open3d(七)——可视化
  6. 同济大学软件学院院长谈择业——游戏软件方向
  7. iPhone电量显示突然消失的原因(修正说法不严谨)
  8. 解决 cnpm 不是内部命令的解决办法
  9. PDF文件怎么删除密码?两个方法帮你搞定
  10. 视频去水印或字幕【通用】