用python进行办公自动化都需要学习什么知识呢?
,Python确实能实现“办公自动化”,但不是你想象的那种“办公自动化”。Python在语法设计等很多方面确实有优势,简单易懂容易学习。我平时也会用它来处理一些工作中的重复性工作。划重点:重复性工作。也就是说,“办公自动化”应当准确的描述成“重复性工作自动化”。
这时候,如果是懂一点程序设计的人肯定会叫了:加一些参数不就能应对变化的情况了吗?确实。但是把哪些作为参数?怎么传递参数?怎么在满足功能的同时,降低写Python代码本身的工作量?怎么降低后期维护Python代码的工作量?这些问题已经相当复杂了,即使对于一位职业程序员也是比较有挑战的事情,一般的Python入门课根本不会讲到。所以,题主你确定你要研究这些东西?
第二,延续前一个话题,具体到题主你的身上,就要衡量下用Python实现办公自动化的投入产出ROI了。因为用Python实现办公自动化可不是简单的“一次性投入”。
不信你看看其他回答中介绍的那些Python包,说白了这些Python包的功能就相当于给你装了个Office全家桶,再装个Adobe全家桶,再装个做图表的Tableau,也就这样了,其实就是提供了一堆基础工具。然后呢,要想用这些东西办公,你还是得自己一句代码一句代码地写呀!!!只不过原来的工作方式是直接往Word里写,现在你要用变量赋值或者方法调用的方式写,而且还要考虑不同情况下取值的变化。
比如:
原来是往Word里写一句“我很开心”
现在就变成了document.write(user.name,user.mood.level,user.mood.status)
但是如果下次你不想写心情了呢?这一句代码就废了,还要写新的。这种需求蔓延的情况一定会发生,而且往往一瞬间就会产生很多新需求。几个瞬间过后,这就不是一个Python入门课能解决的问题了。
所以Python实现办公自动化的投入并不少,不要轻信培训广告上的“轻松”二字。具体要投入多少,取决于你对代码设计的悟性。职业程序员都未必写得好,更何况是业余随便学学的外行人。
而且对于外行人来说,更关键的是产出的价值真的很有限。至于价值有多大,这取决于你的工作重复性有多强。如果重复性很强,那么原来每次都要自己手动做的事情,就比如写报告,每次都要自己写一次,然后现在变成通过写好的Python代码,自动生成一份差不多的报告。如果重复性不高,那直接用Word写它不香吗?
不过说真的,如果题主你的工作如此具有重复性,你需要尽快提升的方面就不是学习用Python“正确地做事”,而是跟你的老板聊聊如何“做正确的事”。与其学会如何用代码实现,不如让老板给你安排一位下属来完成这些琐碎的事,这才是实打实的职业发展。
第三,Python确实很火,不过Python火起来不是因为办公或者提高非职业程序员的办公效率,何况Python本身也不是专门为了办公而产生的。Python近很火无非几个原因:
1、借量化投资和人工智能的风口。量化投资、互联网金融这些是前几年的事情了,现在已经没那么热了,但人工智能还在升温。这两个领域都离不开Python,所以Python一再被推到普通大众的面前。
2、借经济发展的压力。这一点必须要吐槽,做量化投资和人工智能的那些工程师,收入是真的高啊!!!即使是在如今的大环境下,人家依然是高薪职位。这就难免吸引更多人关注这些职位,也就会有更多人关注这职位的必备技能,比如Python。
3、借人力市场的空缺。行业发展快,人力市场跟不上,这在任何一个新兴行业都是很常见的。这种人力市场空缺一定程度上导致了前面说的高薪。不过另一方面,我个人猜想有一些用人单位在积极地通过一些手段平衡这种市场造成的高薪,因为出格的高薪这会导致企业用人成本明显提升。但另一方面这些工程师的价值产出却存在一定概率和趋势,前期对提升业绩的贡献可能很明显,毕竟人工的效率和自动化的效率不可同日而语;但等到模型优化得差不多了,基础理论方面又没什么新突破,产出的价值也就不会再有明显提升了。这时候再付高薪,用人单位就不那么情愿了。
说完了全局的角度,再说个体的角度。“生不逢时”的人是多的,所以现阶段出现大量的培训课程和培训班也就不奇怪了,有大把的人希望“改变命运”。而且由于预期薪资很高,人们自然愿意花重金报名学习,那些开设课程的平台自然可以定高价。其实呢?会的人越多,竞争越激烈。慢慢的,薪资也就没那么高了。至于背后有没有企业在积极推动,我就不知道了。
第四,前面泼了不少冷水了,第四写个积极的。如果题主确实想利用Python在会计的事业上大展宏图,那么不管Python还是Excel里面的VBA,随便学一种语言即可。因为不管学哪种程序语言,很快你就会发现,真正限制你的不是使用Python或是其他语言编程的能力,而是你对会计这个行业及业务的理解有多深入。
就像前面说的,程序设计的过程中,需要你对自己所做的业务进行高度的概括和抽象,抽象到能用一些比较通用的代码就能实现的程度。这个过程考验的是对于业务的理解能力,比重甚至超过编程能力。