今天我们开始分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍!
需求
由于工作当中经常需要对比前后两个 Excel 文件,文件内容比较多,人工肉眼对比太费劲,还容易出错,搞个 Python 小工具,会不会事半功倍
运行脚本,可以把前后两个 Excel 文件当中不同的内容数据展现出来,不同 sheet 页签表示不同的数据处理结果
需求解析
不需要解析,直接干
代码实现
我们先导入两份测试数据,进行 old 和 new 的处理,注意数据中 account number 是唯一索引

对于我们这个小工具,主要考虑三种变化类型
- 哪些是新增的 account
- 哪些是被删除的 account
- 哪些是被修改的 account
对于新增和删除的 account,我们可以直接用两份数据相减即可

接下来我们再将所有的数据拼接到一起,并使用 drop_duplicates 来保留被修改的数据


接下来,我们需要找出哪些 account 有重复的条目,重复的 account 表明更改了我们需要标记的字段中的值。我们可以使用重复函数来获取所有这些 account 的列表,并仅过滤掉那些重复的 account

现在我们将旧数据和新数据进行拆分,删除不必要的版本列并将 account 设置为索引

接下来我们定义一个函数来展示从一列到另一列的变化
现在使用 swaplevel 函数来获取彼此相邻的旧列和新列

最后我们使用 groupby 然后应用我们自定义 report_diff 函数将两个相应的列相互比较

接下来我们需要找出被删除和新增的数据

我们可以使用单独的选项卡将所有内容输出到 Excel 文件,对应于更改、添加和删除
最后,我们就得到了最开始的效果图片展示的一个新的 Excel 文件
当然上面的代码对于毫无编程的人来说还是有一点点复杂,我们还是做成 GUI 小程序吧,这次我们使用 Tkinter 来编写 GUI 程序
我们首先导入 Tkinter 库并进行初始化
这里我们定义了三个 String 类型的变量,用来保存文件地址和文件夹路径
然后我们进行简单的页面排版,只需要用到 Label,Entry 和 Button 就够了

用于获取文件和文件夹的函数
用于保存新生成文件和提示消息的函数
这样,一个简单的 Excel 对比工具就完成啦

好了,这样我们就完成了一个简易的 GUI 拆分 PDF 文件的工具喽

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/145933.html