Python 办公自动化简介

如果说什么才是古人留下来最宝贵的财富,那一定是通过某种介质存留下来的数据,这些数据页成为了后人探索前人世界的一把钥匙。早期人们对于数据的记录从停留在脑海里,到刻在龟壳上、竹简上,到后来发明了造纸术、印刷术记录的载体变成纸张,数据的存储正在一步一步的变得更加方便。

直到现在互联网技术的崛起,我们的数据已经可以利用硬盘进行超持久化的存储,有了高效的数据存储方式之后如何更加高效的完成数据的记录又渐渐的成为我们要探讨的新命题。

既然是要“高效的”完成数据的记录,那么肯定不能是人工进行手动的数据记录,于是慢慢的出现了一个新的名词:办公自动化。顾名思义就是要把数据记录的方式自动化起来,将我们从繁琐的工作中解放出来,让我们能把更大的精力投入到更重要的事情中去。

而以高效、便捷著称的 Python 出现之后更是为办公自动化插上了翅膀,可谓是强强联合!

那么这个课程我们将一起来学习下如何使用 Python 实现办公自动化~

1. 办公自动化介绍

本小节将为你介绍办公自动化的概念、应用场景等内容。

1.1 什么是办公自动化

办公自动化是将现代化办公和计算机技术结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的工作中采用各种新技术、新机器、新设备从事办公业务,只要可以帮忙我们提高工作效率,简化工作流程,这些都属于办公自动化的范围。

1.2 办公自动化的应用场景

办公自动化可以运用在哪里?答案是随处可用,只要能够解决你在办公过程中所遇到的复杂问题。本教程则是从四个我们工作中非常常见的场景进行举例:

  1. Office 自动化;
  2. 邮件自动化;
  3. 文件自动化;
  4. 钉钉自动化。

既然说到办公自动化已经无处不在,那在我们的工作经常使用到的办公自动化工具都有哪些呢?

OA系统:

图片描述

图片来源:互联网
钉钉:

图片描述

图片来源:钉钉 OA 工作台

除了上述最为典型的自动化应用之外,可以思考下目前在你的工作中还有哪些办公自动化的应用呢?

1.3 什么是 Python 办公自动化?

明白了办公自动化,就是解决了我们在办公过程中,提高工作效率、简化工作流程的方法。那 Python 办公自动化又是指什么呢?

首先 Python 作为一种跨平台的计算机程序设计语言,在最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。

Python 中有强大的内置库和丰富的第三方库,所有你能想到的功能都可以利用 Python 快速、高效的解决,所以 Python 也越来越成为办公自动化的首选。

简而言之,Python 办公自动化就是通过 Python 编写程序来解决办公过程中所遇到的问题

如果看到这里你还不太理解 Python 办公自动化是什么,那可以想象以下场景:

  1. 需要你将 1000 个 Excel 文件中的数据进行统计;
  2. 打开有 10W+ 条数据的一份 Excel 文件进行数据的统计;
  3. 根据已有数据快速制作大量图表到 PPT 中;
  4. 已经完成的 1000 份 Word 文件中,公司名称变更,需要批量更改;

对于上述的工作场景,如果不通过编程的方式我们怕不是要一条条数据,一个个文件进行修改,既费时又费力。而使用了 Python 之后上面这些场景很可能只需要短短几行代码就能快速完成。

1.4 Python 的版本

Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年,目前在讨论 Python 版本时,通常会大致划分为两类,一类是 Python2.x,一类是 Python3.x(x 表示小版本号)。目前较为主流的版本为 Python3.x,同时许多 Python 第三库也不再支持 Python2.x。

本教程中所选择的版本为 Python3.6.3,如果和课程的环境不一致也没关系,只要保证你本地的环境是Python3.x 版本就可以了。

2. 为什么要学习 Python 自动化?

这里可以分两类学员来说明,如果你平时就是使用 Python 进行工作的,学习 Python 办公自动化,你的收获:

  1. 拓展更多解决问题的思路;
  2. 全方面了解 Python 的运用场景;
  3. 作为后期自身的加分项;

如果你的工作并不是 Python 相关,学习 Python 办公自动化课程,你的收获:

  1. 掌握 Python,作为自身的加分项;
  2. 通过 Python 办公自动化切实解决工作中的繁琐问题;

3. 本课程是如何设计的?

本门课程根据实际工作中所使用到的办公自动化的场景进行划分:

  1. Office 自动化:通过 Python 操作 Office 办公中常用的Word、Excel 和 PPT,实现数据写入读取等操作;
  2. 邮件自动化:通过 Python 的 smtplib 模块和 zmail 模块发送三种格式的邮件;
  3. 文件自动化:通过Python自带的 os 模块实现对文件和文件夹进行创建、读取、删除等操作,实现压缩包的压缩与解压缩操作;
  4. 钉钉自动化:使用Python接入钉钉机器人开发,实现多类型消息的自动回复功能。

同时在每一部分内容讲解的时候,除了基础语法外,会结合该模块常用内容与实际场景结合进行介绍和练习,让你学完本门课程后,能够快速并灵活的运用在你实际的工作中。

4. 学习技巧

在后续小节开始学习过程中,也是有技巧和方法的。

技巧 1:善于阅读 API 文档

对于 Python 第三方库,往往会有对应的 API 文档,了解一个库的使用,最简单、直接的方式就是阅读文档,阅读源代码。

技巧 2:多敲多练多上手

学习过程中,一定要多上手练习,不要停留在理论层面。很多时候,文档不理解的内容,敲个示例就分分钟明白了。

5. 常见疑惑

在学习前、学习中、学习后,大家会有不同的疑惑,如果你也有疑惑,可以先阅读下本小节的内容看有没有帮助到你。

疑惑 1:为什么只有 Python 自动化,JAVA 自动化没有么?

答:首先弄明白什么是自动化,就不会有这样的疑问了,语言归根到底是为了解决我们的问题,选择 Python 实现自动化,最大的原因就是 Python 的语言特性以及丰富的第三方资源,可以节省我们的时间。

疑惑 2:各种 Python 库的参数意思不明确,搞不定

答:在使用过程中,第三方库通常会有对应的 API 文档,解决这一问题最好的方法就是阅读文档或查看源代码。当然在后续小节中,我们也将尽可能的通过丰富的实例解决你这疑惑,但阅读文档的能力还是建议大家都要具备的。

疑惑 2:为什么写 Python 代码实现自动化,感觉反而比手动操作软件更复杂了呢?

答:如果只是操作一个文件的话,那么肯定不需要再费时费力的编写 Python 程序。但是如果是 100 个,1000 个呢,你还要继续进行手动操作吗?并且编写好了 Python 程序又不是只用这一次,你能保证以后不碰到类似甚至相同的工作场景吗?如果遇到了,我们只需要将之前的 Python 程序拿出来修改几个参数就可以再次使用。

可以说两种方法都有适合的使用场景,但是在大批量的文件处理方面,使用 Python 程序肯定要比手动操作快出无!数!倍!

6. 小结

本节课程我们主要学习了Python办公自动化的介绍。本节课程的重点如下:

  • 了解 办公自动化概念和应用场景;
  • 了解Python实现办公自动化的优势;