python excel 数据匹配实现vlookup功能_如何用python实现excel中的vlookup功能?

相信大家都知道excel的vlookup函数,也会运用,这是财务审计工作中经常会用到的函数之一,那用python如何实现这一功能呢?

1.

目标介绍

刀哥想将2017年科目余额表中,应收账款明细的所有客户,以科目编码为索引,把所有客户对应的期初期末及发生额金额引入到2017AR表中。

即获取2017年科目余额表中的“科目名称”、“期初借方”、“期初贷方”、“本期发生借方”、“本期发生贷方”、“期末借方”及“期末贷方”数并引入到与2017AR表科目编码相对应的表格中,如下图。

2017年科目余额表截图

2017AR表截图

2.

代码实现

首先是调用需要用到的库,比如pandas库,它是python处理excel常用的库,它能处理大量表格数据,有非常强大的功能。

1import pandas as pd

2import openpyxl,xlrd

3from openpyxl import Workbook

第二步是读取原始数据来源表,即读取2017年科目余额表,代码如下。

1file_source = r'f:\Python\练习临时存放\实现vlookup功能\科目余额表\2017年科目余额表.xls' #原始数据来源表路径

2df_source = pd.read_excel(file_source) #读取原始数据来源表

第三步是读取导入目标表,即读取2017AR表,此处因科目编码数量多,手动输入不现实,故用代码实现输入读取,代码如下。

1#把所有科目编码写入到df_target中

2file_target = r'f:\Python\练习临时存放\实现vlookup功能\2017AR.xls' #导入目标表路径

3list_ar_code = [] #定义一个应收账款科目编码列表

4workbook = xlrd.open_workbook(file_target) #读取导入目标表

5balance_sheet = workbook.sheet_by_index(0)

6rows = balance_sheet.nrows

7for i in range(1,rows):

8 list_ar_code.append(balance_sheet.cell_value(i,0)) #将每一个科目编码添加到应收账款科目编码列表中

9data = {'科目编码':list_ar_code}

10df_target = pd.DataFrame(data)

第四步是将2017年科目余额表中需索引的全部信息与2017AR表进行合并,即实现vlookup功能,代码如下。

1#需要导入哪些数据,就将哪些数据的列名写上。

2dfneed = df_source[['科目编码','科目名称','期初借方','期初贷方','本期发生借方','本期发生贷方','期末借方','期末贷方']]

3#on='科目编码',表示以“科目编码”进行索引。

4df_target = pd.merge(df_target,dfneed,how='left',on='科目编码')

这里是代码实现的重点,需要索引哪些信息,就把哪些信息对应的列名添加进去即可。

比如本文需要“科目名称”、“期初借方”、“期初贷方”、“本期发生借方”、“本期发生贷方”、“期末借方”及“期末贷方”这些数据,如果还需要“年度”、“会计期间”或其他信息,就把对应的列名添加进去,然后进行数据合并。

最后一步是写入需要索引的信息并生成文件,代码如下。

1#生成文件

2df_target.to_excel(file_target,index=False)

以上所有步骤完成后,最终生成的文件内容如下。

最后的合计数和核对栏是刀哥手动完成的,可以看出合计数与2017年科目余额表原表数据合计数能对上,与科目编码也能对应上,说明引入过来的数据正确。

那多出来的那些科目编码和空白栏是怎么回事呢,那就是刀哥下次要分享的内容,敬请期待,记得点个关注和收藏哦。

学习python,刀哥正在路上,你要一起来吗?欢迎加入刀哥python学习交流群,来一起撸代码吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html 随机出一个地址,nginx random_index 一直指向一个html页面,不会随机

#配置如下#问题:random_index在location /中开启,但是刷新浏览器不会随机,只会一直访问其中一个html文件server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;#root "E:/phpStu…

双百双新产业项目是什么_投资380亿,广西38个“双百双新”产业项目开竣工

广西2020年四季度“双百双新”产业项目集中开竣工活动现场。图片由自治区工信厅提供柳州分会场视频连线。图片由自治区工信厅提供与会嘉宾。图片由自治区工信厅提供广西新闻网南宁12月8日讯(记者 谢琳琳)12月8日,广西举行2020年四季度“双百双新”产业项目集中开竣工…

微型计算机可避免强磁场干扰,微型计算机测控系统抗干扰技术

微型计算机测控系统抗干扰技术从电网干扰、传输线干扰、空间电磁干扰及机内干扰四方面 ,介(本文共2页)阅读全文>>微型计算机测控系统在运行的过程中会受到外部要素的影响,使系统运转失衡。为了避免出...(本文共1页)阅读全文>>微型计算机测控系统中通常存在着很多干…

ssm把后端数据传到前端_前端传数据到后台分别JSON和STRING接收 AJAX SPRINGBOOT ssm

前端时间复习了SSM,前后端传数据接收,做了个例子,分享下POMorg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-thymeleafcom.alibabafastj…

计算机技术与应用的知识5000字,计算机本科论文范文5000字

近些年来,我国国民经济正在不断地发展,国家日新月异的改变在很大程度上与计算机技术的应用有很大的关系,计算机科学对我国经济发展有着极大的促进作用。下文是学习啦小编为大家搜集整理的关于计算机本科论文范文5000字的内容,欢迎大家阅读参考!计算机本科论文范文50…

整活插件 炉石传说_酒馆战旗整活插件 免安装版

炉石传说酒馆战旗整活插件是一款专门用来帮助玩家跳过炉石传说战斗动画的工具。炉石传说中的战旗模式会在匹配成功后播放一段战斗动画,等到动画播放完毕才会正式进入选牌阶段开始游戏,而很多经常玩战旗模式的玩家早就对其烦不胜烦了。为此有玩家专门开发…

flv 自动播放 html autostart=true,《网页制作之FLV视频播放代码的编写.doc

《网页制作之FLV视频播放代码的编写网页制作之FLV视频播放代码的编写解决方案一:编写成js嵌入网页中 直接copy下面代码,修改其中红色部分,即:swf_width、swf_height、texts、files 参数引用其中:?群英传WEB版宣传视频…

html设置一个随机数的抽奖,随机数的运用---抽奖

首先我们先整理一下思路,看看需要用到些什么。1、随机数2、点击事件3、计时器4、抽完然后把定时器清一下在html中先写一个简单的框架然后我们来敲js//封装一个随机数function randoms(start, end) {return Math.floor(Math.random() * (end - start 1) start);};v…

妖帝q群机器人_有关酷Q 晨风机器人,契约 qqlite qqlight ,mypc等QQ机器人关停一事的一点想法...

估计有不少朋友都使用过QQ机器人,因为很多网友每天都要管理很多个QQ交流群,如果一个人管理,估计都得累死,所以一般都会使用QQ机器人来帮助自己管理。只是腾讯自身的QQ机器人实在不给力,功能太鸡肋,而且不支…

水厂计算机知识,计算机信息在水厂中的管理与应用的探讨

【摘 要】本文介绍了计算机信息在水厂中的管理与应用的相关问题,详细分析了计算机信息是如何在水厂分控站实现自动控制功能的,并在文章结尾总结了计算机信息管理控制的特点以及应用效果。【关键词】计算机;系统;水厂;信…

else 策略模式去掉if_业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们!...

​对于业务开发来说,业务逻辑的复杂是必然的,随着业务发展,需求只会越来越复杂,为了考虑到各种各样的情况,代码中不可避免的会出现很多if-else。一旦代码中if-else过多,就会大大的影响其可读性和可维护性。…

e.html5.qq.com,QQ群官网-开放能力

8. 设置提醒组件8.1 功能说明应用可以调用该组件设置日历提醒8.2 组件说明组件使用365日历提供的日历服务在需要使用的页面上嵌入js然后在需要的地方如下调用即可window.openGroup.setReminder({appid: 101234888, // 选填,若不填则使用url参数appid(必须有)// 当前…

istio springcloud_手牵手一起学Springcloud(1)微服务这么流行,你理解了嘛?

在前一段时间,我们实验室的项目开始变得越来越麻烦,代码也越来越臃肿,一个人兼顾前后端的全栈开发,实在是力不从心,没有一点点幸福感,于是迫切的想要解放生产力,放飞自我,因此开始决…

2021年计算机应用基础统考题库,2021年计算机应用基础统考题库试卷全-20210515145621.doc-原创力文档...

一、单选题1、第三代计算机运算速度_____。A:高于第二代但低于第四代B:高于第一代但低于第二代C:低于第一代D:高于第四代答案: A2、将计算机分为通用计算机、专用计算机两类分类原则是______。A:计算机解决…

力改变物体形状举例_人教版八年级物理下册第七章《力》知识点大全

力是物体对物体的作用,比如推土机推动了土。知识点1:力1.概念:是物体对物体的作用叫做力。2.特点:物体间力的作用是相互的。3.力的单位和表示符号:(1)力的单位:牛顿,简称牛(N)。托起一个鸡蛋大约…

计算机29首流行音乐叫什么,流行歌曲有哪些 流行歌曲500首

流行歌曲有哪些 流行歌曲500首作者: 锦瑟更新日期: 2020-10-15 21:43:12音乐是一种能治愈人心的存在,它还可以炒热气氛和渲染气氛,总之歌曲的共情能力是很强的,相信没几个人会不喜欢音乐的吧。小编也喜欢在无聊的时候听一下音乐呢&#xff0c…

bool类型数组转换成一个整数_Go 学习笔记 02 | 基本数据类型以及 byte 和 rune 类型...

一、基本数据类型unsafe.Sizeof() 查看不同长度的整型在内存中的存储空间。 类型转换,高位向低位转换要注意溢出。数字字面量语法。64 位系统中 Go 语言中浮点数默认是 float64。二、Golang 中 float 精度丢失问题利用第三方包:http://github.com/shopsp…

计算机应用基础(高起专)答案,东北师范大学14秋《计算机应用基础(高起专)》14秋在线作业1答案...

计算机应用基础(高起专)《计算机应用基础(高起专)》14秋在线作业1 一,单选题1. 局域网组网完成后,决定网络使用性能的关键是A. 网络的拓扑结构B. 网络的通信协议C. 网络的传输介质D. 网络的操作系统?正确答案:D2. 加工处理汉字信息时,使用汉…

ldap基本dn_LDAP 中 DN CN DC OU

DN 的英文名称是(distinguished name),直接翻译过来就是专有名称。简单的就可以理解为一个路径就对了。这个路径可以指向 OU ,也可以指到 CN。其中 DN 有三个属性,分别是CN,OU,DC。DC (Domain C…

学校计算机 电教材料账册,电教室管理制度

电教室管理制度(一)电教室必须有专人管理。未经许可,外人不得擅 自动用仪器、设备。(二)按配备标准和教学要求,及时申购仪器、设备及材料,保证教学正常进行。(三)仪器、设备、材料入库,要凭单据及时记账、编号后分类存放&#xff…