程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

我用Python实现自动化办公,小姐姐投来羡慕的眼神,而后···

发布于2021-06-07 19:53     阅读(697)     评论(0)     点赞(2)     收藏(0)


谁说学了编程就一定要当程序员?自我介绍一下,我既不是程序员,大学学的也不是IT专业。我的工作内容主要就是制作汇报各种统计报表、数据图等。我身边的同事每天至少花3.5~4小时去做Excel,使用数据透视图、 vlookup等各类函数去做出一份内含3000多个数据的日报。

umm… 如果领导临时安排什么工作的话,那就要加班从浩如烟海的数据里找领导要的东西了。

我们有一个巨大的,达70多M的Excel文件, 每次公司配发的破电脑打开就需要小二十分钟,里面存着我们近十年的采购的每一车的详细信息,重点是里面的数据格式还都是混乱的。打个比方,比如我们有个供货商全名叫:ABCD有限责任公司,那么这个Excel中会存有AB公司、AB有限公司、CD有限责任公司、 CD责任有限公司、ACBD有限公司ABD公司等等类似的名字。当我第一次看到这份表格的时候,我的内心是崩溃的。

在这里插入图片描述
后来交接的同事告诉我, 她用的Excel的 vlookup 函数,当匹配不上的时候,就手工搜索……

然后……我……

在这里插入图片描述
就这样,经历了噩梦般的几个月的我,看到了一个词“图灵完备”。一个图灵完备的语言理论上能解决任何算法。 显然,Python是一种图灵完备的语言。

我的第一步是从数据清洗开始,先把刚才说的那个70M的Excel导成csv,去掉了其中不必要的格式、 样式、对象等。

然后我想统一一下各个数据的标准名称,刚才说了,由于经手的人太多,同一个数据,怎么表述的都有, 几十万的数据量,人工交叉比对的话显然是不现实的。(后来才知道了笛卡尔积这个词)

我第一步先使用了Excel自身的去重功能,将所有的供货商名称进行了一个去重,剩下了大概5000个左右的名称。

然后,作为一个懒人, 我肯定不会用人工去比对了。

Python有一个库,叫做fuzzywuzzy,用它来进行模糊匹配。

会输出一个0——100的数字, 数字越大代表这两个内容越相似。

所以我就写了一个循环,把这5000多个项目里面,匹配度超过70%以上的数据组都筛了出来,再去Excel里面手工替换(没办法,那时候还不会操作Excel)

然后整理了一下各个行列的位置, 这样我就有了一个相对准确的数据源。

后来思考了一下,把数据存在Excel里面不是个长久之计啊, 毕竟几十万数据呢,就想把数据导入到数据库里。大学时候考过计算机二级的Access(当然,虽然我考过,但是没考过……),就想导入Access,可是那个Python库没弄明白,硬是读不出来,就卡死了。

后来想到, 之前自己从网上下载的某某私服的一键端里,有个MySQL数据库的一键启动方式,试了试居然能用,就把那个MySQL程序整个拷出来、清干净,作为了我的数据库。(当时想学怎么自己配置MySQL来着,没研究明白……这个数据库也就是我们现在提供的MySQL数据库的前身, 当然了,我们现在提供的是重新制作的无毒的船新版本)

然后就是使用Navicat导入Excel,使用pymysql库进行读取,这样,咱也是趁数据库的人了~

在这里插入图片描述

罗伯特·清琦写的那本《富爸爸穷爸爸》提出过一个概念,当你实现财务自由以后, 你的财富积累就会走上良性循环的快车道,你的就会越来越容易提高被动收入。

同理,当你实现一部分的工作自动化以后,你就会走上一个“工作自由”的快车道,因为你有更多的时间能用来研究如何去更高效的完成余下的那堆工作, 然后,每天工作的时间就会越来越短。

为什么上文中我有那么多括号写的各种搞不定?因为没时间啊!

现在好了, 每天的工作时间已经被我砍了一半了,那么我就可以思考,如何解决各类的技术问题。

我学会了Excel的各种库,比如xlrd、xlwt、xlsxwriter、openpyxl、xlwings、win32com,能根据自己的需要选择需要用的库;还学会了同属Office系列的python-docx和python-pptx, 开始尝试自动制作Word和PPT;学会了自动发邮件的stmp库、zmail库;学会了能操作微信发消息的itchat;学了爬虫、学了解压缩、学了调整图片大小、学了Word转pdf等等等等很多库或者功能。

随着学习,每天的工作时间越来越短……

现在,我每天的工作,只需要十分钟,最快记录四分钟,就能完成。

每天上班,第一件事, 优雅的运行一个py文件,一堆import后面,只有

在这里插入图片描述
就完成了日常工作,然后就是需要打印,手签,送各领导审阅的过程了。

一个保守的、传统的、几十年都不会起一丝波澜的国有企业,硬生生被我干出来了一个IT岗,升职加薪都已达成。

现在,我能极快的完成每天的工作,而后就是大片的学习思考的时间。
如今,我已经把数据库移到了一台淘汰下来的办公电脑上,又用另外一台热备,作为公共联网数据库;

我已经,用pyqt写了一个带gui的数据输出软件,所有同事都可以自由输出数据进行分析了;

我已经,用pandas、matplotlib写了一个自动生成数据分析图片的软件,再做月报、周报什么的汇报材料,不用再通过Excel手工作图了;

我已经,用pandas、matplotlib配合pyqt写了一个入库分析软件,大家输入时间段和限定条件后一键进行数据分析了,不会有同事老找我要数据了;

我已经,用xlrd、python-docx写了一个合同生成器,旺季采购的同事不用焦头烂额的改合同了;

我已经,用numpy配合pyqt做了一个购销存平衡软件,可以让领导们在决策时通过拖动滑块就可以实时展现不同购、销情况下库存情况了;

我已经,用爬虫配合pymysql写了一个实时粮价获取数据库,告别了浏览网页逐行复制价格的方式;

那么你的未来,是每天继续做着重复的工作,还是从工作中解放自己,去拥抱更大的世界呢。

在这里还是要推荐下我自己建的Python自动化学习群:1033482984 ,群里都是学Python自动化测试的,如果你正在学习Python ,小编欢迎你加入,大家都是测试开发党,不定期分享干货(只有Python软件测试相关的),包括我自己整理的一份2021最新的Python自动化资料。

最后:【可能给予你帮助】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你
.
关注我的微信公众号【软件测试小dao】免费获取~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!



所属网站分类: 技术文章 > 博客

作者:龙膜授权

链接:http://www.phpheidong.com/blog/article/89431/dd286f783beb9616d959/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

2 0
收藏该文
已收藏

评论内容:(最多支持255个字符)