知乎上有人提问:用python进行办公自动化都需要学习什么知识呢?
这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。
自动化办公无非是excel、ppt、word、邮件、文件处理、数据分析处理、爬虫这些,这次就来理一理python自动化办公的那些知识点。
- List item
- python基础
- excel自动化
- ppt自动化
- word自动化
- 邮件处理
- 文件批量处理
- 数据处理与分析
- 自动化爬虫
下面一一详解。
一、python基础
能做这些的前提是会使用Python,最起码要熟悉基本语法,可以编写小脚本。
对于python语法的要求,你可以对照python基础教程的部分查看需要学那些,找个免费视频教程跟着学,然后多敲代码练习。如果习惯看书的话,可以买本python入门书备查。
语法 | 主要内容 |
---|---|
基本数据类型 | 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合) |
运算符 | 算术运算符、逻辑运算符、赋值运算符、比较运算符、位运算符… |
数值类型 | 整型(Int)、浮点型(float)、复数(complex) |
条件控制语句 | if…elif…else语句 |
循环语句 | while语句、for语句 |
函数 | def定义函数、函数调用、参数传递、匿名函数… |
迭代 | 迭代过程、迭代器、生成器、生成器表达式 |
文件操作 | open()函数、read、readline、readlines、write…方法 |
os模块 | 处理系统文件和目录 |
模块 | 模块导入、常用标准模块、常用第三方库 |
错误和异常 | try/except语句 |
面向对象 | 简单掌握面向对象概念即可 |
语法是关键,一定要理解python编程的基本概念,再去学其他的工具库。
不然会很痛苦的。
二、excel自动化
office家族其实都可以用VBA解决自动化的问题,但可能很多人不会用。
python针对excel有很多的第三方库可以用,比如xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils等等。
Python-Excel 模块哪家强?
这些库可以很方便地实现对excel文件的增删改写、格式修改等,当然并不推荐你全部都去尝试一下,这样时间成本太大了。使用xlwings和pandas这两个就够了,基本能解决excel自动化的所有问题。
xlwings不光可以读写excel,还能进行格式调整、VBA操作,非常强大且易于使用。
pandas是大家都熟悉的数据处理利器,它也支持excel的读写,接口友好。这个后面会讲到。
如果你对python自动化处理excel很有兴趣,也可以买一本专门的教材来看。
三、ppt自动化
python当然是支持ppt的自动化处理,主要的库有pywin32com、pptx,可以创建、修改ppt文件。
推荐使用pptx库,目前主流的ppt处理库。
四、word自动化
python操作Word的库:
- python-docx、import docx:只对windows平台有效
- pypiwin32、import win32com:跨平台,但无法处理doc格式的word文本,doc格式不是基于xml的
- textract、import textract:它同时兼顾“doc”和“docx”,但安装过程需要一些依赖。你可以批量的用python生成word文件,推荐使用docx,不需要会太多。
五、邮件处理
python处理邮件也是极其便利的,smtplib、imaplib、email三个库配合使用,实现邮件编写、发送、接收、读取等一系列自动化操作,省时省力。
简单三步,用 Python 发邮件
发邮件的坑在于邮箱服务器的选择和设置,而这个又会随着邮箱服务商的更新而变动,所以实际使用时还需要多搜索相关文档和教程。
六、文件批量处理
文件处理包括批量修改或创建文件名、批量生成文档、批量修改路径等等重复性操作。如果一个个手工操作,那真的心累。
python在处理批量操作有得天独厚的优势,成千上万的文件修改可能只需几秒的时间。
os是python文件操作的库,可以实现对电脑上文件的增删改查。
方法 | 作用 |
---|---|
os.chdir(path) | 改变当前工作目录 |
os.getcwd() | 返回当前工作目录 |
os.listdir() | 返回path指定的文件夹包含的文件或文件夹的名字的列表 |
os.makedirs(path[, mode]) | 创建一个名为path的文件夹 |
os.remove(path) | 删除路径为path的文件 |
… | … |
七、数据处理和分析
我就是做数据分析工作的,基本也是python作为主要工具,所以这一块毋庸置疑是python自动化办公最有价值的部分。
数据处理的库主要有:pandas、numpy、matplotlib、sklearn…
pandas是一款不断进步的python数据科学库,它的数据结构十分适合做数据处理,并且pandas纳入了大量分析函数方法,以及常用统计学模型、可视化处理。
如果你使用python做数据分析,在数据预处理的过程,几乎九成的工作需要使用pandas完成。
在一些企业招分析师的笔试题中,pandas已经作为必考的工具,所以如果你想要入行数据分析师,请努力学习使用pandas。
numpy是python的数值计算库,包括pandas之类的很多分析库都建立在numpy基础上。
numpy的核心功能包括:
- ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组
- 用于对整组数据进行快速运算的标准数学函数(无需编写循环)
- 用于读写磁盘数据的工具以及用于操作内存映射文件的工具
- 线性代数、随机数生成以及傅里叶变换功能
- 用于集成由C、C++、Fortran等语言编写的代码的A C API
numpy之于数值计算特别重要是因为它可以高效处理大数组的数据。这是因为:
- 比起Python的内置序列,numpy数组使用的内存更少
- numpy可以在整个数组上执行复杂的计算,而不需要Python的for循环
matplotlib和seaborn是python主要的可视化工具,建议大家都去学学,数据的展现和数据分析同样重要。
sklearn和keras,sklearn是python机器学库,涵盖了大部分机器学习模型。keras是深度学习库,它包含高效的数值库Theano和TensorFlow。
这些是大家耳熟能详的神库,非常推荐去学习。
八、自动化爬虫
相信爬虫是大家最感兴趣的,python爬虫有很多的实现库,比如:urllib、requests、scrapy等,以及xpath、beautifulsoup等解析库。
爬虫入门容易,但学精难,所以初学者可以尝试写点简单的爬虫,比如豆瓣、知乎、微博呀。
读者福利
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的!
1、学习时间相对较短,学习内容更全面更集中
2、可以找到适合自己的学习方案
我已经上传至CSDN官方,如果需要可以扫描下方二维码都可以免费获取【保证100%免费】
![](https://i-blog.csdnimg.cn/blog_migrate/bbaf9dfd3d26b44d0638aff2e8c6e3bb.png)
1、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
2、Python课程视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
3、精品书籍
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
4、清华编程大佬出品《漫画看学Python》
用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。
5、Python实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
6、互联网企业面试真题
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传至CSDN官方,朋友们如果需要可以点击下方链接或扫描下方二v码都可以免费获取【保证100%免费】
![](https://i-blog.csdnimg.cn/blog_migrate/bbaf9dfd3d26b44d0638aff2e8c6e3bb.png)
以上全套资料已经为大家打包准备好了,希望对正在学习Python的你有所帮助!
如果你觉得这篇文章有帮助,可以点个赞呀~
我会坚持每天更新Python相关干货,分享自己的学习经验帮助想学习Python的朋友们少走弯路!