python excel vlookup_在python中实现excel里的vlookup功能

在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='匹配结果')

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值