美文网首页
015 自学python——将多个excel表中的数据匹配汇总至

015 自学python——将多个excel表中的数据匹配汇总至

作者: 班_ | 来源:发表于2023-11-09 21:55 被阅读0次

上一篇python学习笔记,解决的是一个较为基本的需求:将一个excel中的数据原封不动粘贴到另一个excel里,更具体地说,将一个excel中的数据按行(一行行)粘贴到另一个excel里。在实际工作中,我们可能还有稍微复杂一点的需求。

一、需求

作为市分行的某个部门,有时我们需要让支行核实一些数据。以内部账户的使用为例,我们会下发几十条账户数据,让支行上报账户的「挂账金额、挂账日期、挂账原因」等等数据,有些支行可能涉及一条至多条数据,有些支行可能不涉及数据。我们下发的工作表如下,支行需要找到自己支行的账号,然后填写相关内容。

作为汇总机构,在收到所有支行上报的excel后,通常的做法是:打开某个支行的工作表-复制「挂账金额、挂账日期、挂账原因」这三个单元格的内容-打开汇总表-锁定该支行所在的位置并将已复制内容粘贴到相应的单元格

借助于python,我们可以无需做打开工作表并且复制粘贴的重复性操作,借助一段代码,让代码帮我们实现自动批量操作。

二、思路

对我们已经保存在一个文件夹下的所有支行上报的excel工作簿,使用os.listdir()函数批量获取文件名称,然后用for循环逐个打开工作簿、工作表,再使用工作表对象的iter_rows()方法锁定我们需要的数据。

然后重点来了,因为最终我们需要实现数据匹配操作。观察上面的两个工作表,可以看到两个表可以通过账号连接起来,也就是说,把一个表中账号对应的内容,匹配到另一个表中,就达成了我们的目的。

如何实现匹配?借助字典

我们创建一个{'账号':'挂账信息'}的字典,可以很好地体现出账号挂账信息的对应关系。更进一步,因为挂账信息涉及三方面内容,所以这里需要再嵌套一个字典,最终我们要创建的字典应该是{'账号':{'挂账金额':aaa,'挂账日期':bbb,'挂账原因':ccc}}这样的格式。

最后,我们借助字典中键和值一一对应的关系,通过为单元格赋值的方式(cell.value=新值)把字典中存储的「挂账金额、挂账日期、挂账原因」匹配入「汇总表」中的相应位置。

三、我的代码

运行完上述代码你会发现,相关内容瞬间被匹配到汇总表里的CDE列了。

相关文章

网友评论

      本文标题:015 自学python——将多个excel表中的数据匹配汇总至

      本文链接:https://www.haomeiwen.com/subject/vbqhwdtx.html