excel匹配_python中实现excel的高级筛选

692742dbf83e8096692b4d383368af04.png

cac46927f2e97496e64af0cbe6af3848.png

Excel里的高级筛选功能,着实令人惊叹,VBA里实现起来也相对简单,就是手动操作的代码化,设置好三项参数,便可以随取随用,效果稳准快。

在python 中实现同样的目的,更为直白爽快,不信你看:

  • 源数据,在一个工作表里:

ce8c54c4dc6df5808e7f797e7f6d8b4a.png
  • 筛选条件,在另一个工作表里:

333658cc3e805af704e112221e2d5cae.png
  • 筛选结果:

dfdfd21a197180653aae67e6bd47bb56.png
  • 实现代码:
import numpy as np
import pandas as pd
import os
import openpyxl
from openpyxl import Workbook

#在python中实现excel里的高级筛选
#创建一个文件夹以存放操作后的文件
os.mkdir(r'/Users/dxn/Desktop/result')
#创建工作簿以盛放操作结果表
wb=Workbook()
wb.save(r'/Users/dxn/Desktop/result/匹配结果.xlsx')

df_source=pd.read_excel(r'/Users/dxn/Desktop/vlookup.xlsx',header=0,sheet_name='Sheet1',skipfooter=1)
df_criteria=pd.read_excel(r'/Users/dxn/Desktop/vlookup.xlsx',header=0,sheet_name='Sheet2')

#按照指定条件筛选源数据,
df=df_source[df_source['物料名称'].isin(df_criteria['物料名称'].tolist())]
#对于多列筛选条件,分步操作以实现双重筛选,此句即是在上一句筛选结果的基础上再筛选
df=df[df['规格型号'].isin(df_criteria['规格型号'].tolist())]

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

在学习的过程中,总会有磕磕碰碰,让你有放弃的念头,如何应对这样的情绪?

想想自己当初为什么要开始?
实在不行,就暂停,时间可长可短,但在心底里要明白不能轻易放弃当时许下的承诺,哪怕你没有给任何其他人提起过这个承诺。
对别人许下的承诺,要信守;对自己许下的承诺,更要信守。

小时候,在学校里,有老师督促着学习,在家里,有家长督促着学习;可是离开了学校,参加了工作,不会有人要督促你学习了,更多时候是不断有人在向你要结果了。

结果的呈现,可能只是一瞬间的事,但实现结果的漂亮呈现,是需要背后点点滴滴的付出换来的;平时不安排时间给自己学习、只是忙于来往应酬,回过头来,终会发现原来大好时光流逝好可惜啊,恨没有逼自己一把。

一点感怀,聊记于此。

ea2e8850ba89ad75af73c5d7ce232834.png
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值