事情的起源是这样的,有两位同事每个月要发送大量的账单,生成的账单都存放在一个文件夹里,这些账单是由多个平台不同的结算模式生成的,导致了每个结算对象在不同平台的名称是不一样的,可能只有几个关键词相同,或者干脆是不同的名称,同事通过邮件发送账单,在整个文件夹里找不同名称的文件还是很麻烦的,而且还容易遗漏,如果不想遗漏的话就得挨个打开看看,看金额是否相符。
我大概看了一下这些文件,两三百个左右,如果能把同一个结算对象的各个文件整理到同一个文件夹下,发送邮件时就能省很多时间,且不容易遗漏,后期还有可能实现利用邮件合并群发邮件的功能,又能节省很多时间和精力。
思路还是比较简单的,第一步先在一个Excel文件里填好规范的结算对象名称,填好关键词,然后让py从这个Excel中获取规范的名称,并建立对于的文件夹,然后获取所有要整理的文件,根据关键词一一匹配,将能和关键词匹配成功的移动到建好的文件夹中。
试运行能够实现要求后随即打包成exe文件就能使用了。
1、双击程序,开始运行。

2、选择映射文件,就整理好的规范结算对象名称及关键词

选择文件之后会跳出提示,配置列选项,主要的目的有两个①红框框里的是选择根据哪列新建文件夹②蓝框框里是选择关键词,为了提高运行速度,设置了最高5个关键词的限制。

关于excel文件夹怎么填写,可以参考一下这个

单元格文字无所谓,程序可以自动获取
3、随后点击“选择目标文件夹”,这个是在哪个地方新建文件夹的作用,后边用于存放移动后的Excel文件。【不要直接放在桌面,因为会新生成很多文件的,容易把桌面占满】

4、选择待处理文件,就是需要对哪些文件进行整理【这里为了直观,我没有选择用父文件夹的方式,而是用了直接选中全部Excel文件】

5、选好要处理的Exce文件之后,点击下方的开始整理即可,对话框会随时显示正在处理哪个文件,根据哪个关键词将文件移动到哪;如果最终依然存在没有依据关键词移动成功的文件,也会在对话框里提示。
【建议提前把要处理的文件备份好,或者直接处理备份的文件,因为会直接移动文件,重新从子文件里复制出来也是很麻烦的】
最开始做这个程序的时候是依照公司的要求直接做的,后来发现可以稍微修改一下,作为一个通用的程序应用到其他地方。
貌似有方法把打包后的exe文件压缩一下,压缩到几MB的大小,目前三十几MB还是有点大的。
---------- -- -------
【超级会员V6】通过百度网盘分享的文件:Excel文件整…
链接:https://pan.baidu.com/s/1lwag7kJSlaXdqQN9TvfYhQ
提取码:5bgo
复制这段内容打开「百度网盘APP 即可获取」
---------
后续还有把各个文件夹里的文档合并到同一个Excel的功能,如此发送时只需要选中一个合并的Excel了,只是代码还没做通用化修改,后续也可整理一下。