python df共有几行_在python中实现excel里的vlookup功能

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

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

数据源位置为Sheet1工作表:

4a336fd6783a4d21b4677102cc1a6cd5.png

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

56da28ba0de3fd9b1f2b97eff63dee25.png

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

第一步:分别读取数据

#第一步:读取指定数据,注意工作表名称‘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 npimport pandas as pdimport osimport openpyxlfrom 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='匹配结果')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值