首页 > 编程语言 > 详细

vlookup函数功能非常强大,那在Python中如何实现?

时间:2020-10-27 16:17:01      阅读:39      评论:0      收藏:0      [点我收藏+]

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于艾然飞翔,作者宁晨

前言

在exce中vlookup函数功能非常强大、方便;但总是手动操作,毕竟还是不高效。在VBA里把一系列的手动操作变为一键操作实现目标,是不错的选择。如果你也会使用python的话,会发现目标实现起来,更简单。

那么使用python操作excel时怎么实现这个功能?

数据源位置为Sheet1工作表:

技术分享图片

 

要在另一个工作表Sheet2里查询到上表里的后四列信息:

技术分享图片

 

技术分享图片

 

实现起来很简单,分三步走:

第一步:分别读取数据

#第一步:读取指定数据,注意工作表名称‘Sheet1’的首字母是大写状态
df_source=pd.read_excel(r/Users/dxn/Desktop/vlookup.xlsx,header=0,sheet_name=Sheet1,skipfooter=1)
df_target=pd.read_excel(r/Users/dxn/Desktop/vlookup.xlsx,header=0,sheet_name=Sheet2)

 

第二步:设置两表共享有相同的索引列

#第二步,设置共有索引
df_source.set_index(物料名称)
df_target.set_index(物料名称)

 

第三步:update方法完成目标

#第三步,update方法实现目标
df_target.update(df_source)

 

这三步是目标实现的关键步骤,思路清晰易懂,操作简单。

完整代码如下:

import numpy as np
import pandas as pd
import os
import openpyxl
from openpyxl import Workbook

#在python中实现excel里的Vlookup函数功能,分三步走
#创建一个文件夹以存放操作后的文件
os.mkdir(r/Users/dxn/Desktop/result)
#创建工作簿以盛放操作结果表
wb=Workbook()
wb.save(r/Users/dxn/Desktop/result/匹配结果.xlsx)

#第一步:读取指定数据,注意工作表名称‘Sheet1’的首字母是大写状态
df_source=pd.read_excel(r/Users/dxn/Desktop/vlookup.xlsx,header=0,sheet_name=Sheet1,skipfooter=1)
df_target=pd.read_excel(r/Users/dxn/Desktop/vlookup.xlsx,header=0,sheet_name=Sheet2)

#第二步,设置共有索引
df_source.set_index(物料名称)
df_target.set_index(物料名称)

#第三步,update方法实现目标
df_target.update(df_source)

#导出形成工作表
with pd.ExcelWriter(r/Users/dxn/Desktop/result/匹配结果.xlsx,mode=a) as writer:
    df_target.to_excel(writer,sheet_name=匹配结果)

 

vlookup函数功能非常强大,那在Python中如何实现?

原文:https://www.cnblogs.com/hhh188764/p/13884606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!