曾经知乎上有人提问:用python进行办公自动化都需要学习什么知识呢?

这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。

自动化办公无非是excel、ppt、word、邮件、文件处理、数据分析处理、爬虫这些,这次就来理一理python自动化办公的那些知识点。

  • 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等等。

这些库可以很方便地实现对excel文件的增删改写、格式修改等,当然并不推荐你全部都去尝试一下,这样时间成本太大了。使用xlwings和pandas这两个就够了,基本能解决excel自动化的所有问题。

xlwing不光可以读写excel,还能进行格式调整、VBA操作,非常强大且易于使用。

你也可以查询xlwings具体用法(中文总结):
https://www.jianshu.com/p/e21894fc5501
https://www.jianshu.com/p/b534e0d465f7
https://www.jianshu.com/p/de7efe591c12

当然最好是看官网教程:

https://www.xlwings.org/

pandas是大家都熟悉的数据处理利器,它也支持excel的读写,接口友好。这个后面会讲到。

如果你对python自动化处理excel很有兴趣,也可以买一本专门的教材来看。

ppt自动化

python当然是支持ppt的自动化处理,主要的库有pywin32com、pptx,可以创建、修改ppt文件。

推荐使用pptx库,目前主流的ppt处理库。

学习网站:
https://python-pptx.readthedocs.io/en/latest/

word自动化

python操作Word的库:

  • python-docx、import docx:只对windows平台有效

  • pypiwin32、import win32com:跨平台,但无法处理doc格式的word文本,doc格式不是基于xml的

  • textract、import textract:它同时兼顾“doc”和“docx”,但安装过程需要一些依赖。你可以批量的用python生成word文件,推荐使用docx,不需要会太多。

学习网站:
https://python-docx.readthedocs.io/en/latest/

邮件处理

python处理邮件也是极其便利的,smtplib、imaplib、email三个库配合使用,实现邮件编写、发送、接收、读取等一系列自动化操作,省时省力。

写过一个发送邮件教程,亲测可用:
干货 | 解放双手,用Python实现自动发送邮件

看了其他很多教程都有各种各样的问题,需要不断改bug,所以这个大家先可以跑跑上面的代码。

文件批量处理

文件处理包括批量修改或创建文件名、批量生成文档、批量修改路径等等重复性操作。如果一个个手工操作,那真的心累。

python在处理批量操作有得天独厚的优势,成千上万的文件修改可能只需几秒的时间。

os是python文件操作的库,可以实现对电脑上文件的增删改查。

学习网站:
https://www.runoob.com/python3/python3-os-file-methods.html
https://www.liaoxuefeng.com/wiki/1016959663602400/1017606916795776

方法 作用
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中Scrapy爬虫及案例剖析
Python数据分析北京Python开发的现状

推荐大家去学习requests、bs4来入门爬虫,提供对应中文学习网站:
https://2.python-requests.org//zh_CN/latest/
https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

其它

其它不常用的自动化办公库,像处理pdf、图片、视音频等,这里不做过多介绍。
如果有兴趣可以在本文末留言,你用过哪些逆天的python库,解决了哪些问题?

最后推荐几本python自动化办公入门书:

-END-

往期精彩

如何在面试中展现你对Python的coding能力?

50个关于IPython的使用技巧,快收藏!

如何用Python和数据分析鉴别网络刷单 ?

使用Python伪装黑客,批量获取网站密码!

用Python打造实时截图识别OCR

Python+Matplotlib 制作排序算法的动画

Python项目:让你的文字会说话

利用Python开发智能阅卷系统

Scrapy 爬取二手房信息,进行可视化数据分析

END

关注【程序IT圈】,更多的Python好文输出

Python自动化用这些知识点就够了!相关推荐

  1. swagger python自动化用例_自动生成robot自动化测试用例

    #!/usr/bin/env python """解析swagger接口返回值自动生成接口自动化用例 将新增的用例写入到文件末尾,已存在的用例则不重新写入"&q ...

  2. swagger python自动化用例_如何让Swaggergenerated Python客户机正常工作?

    我已经从https://editor.swagger.io/生成了python客户机和服务器,服务器没有任何编辑就可以正常运行,但是我似乎无法让客户机与它或任何东西进行通信.在 我怀疑我在做一些非常愚 ...

  3. swagger python自动化用例_swagger 自动生成接口测试用例

    importrequestsimportos, jsonfrom common.writeExcel import Write_excel #写入excel模块 from common.logger ...

  4. 使用python编写一个完整的接口自动化用例

    使用python编写一个完整的接口自动化用例 以聚合数据的 查询天气接口为例: import requestsclass HttpRequests: def __init__(self,url, pa ...

  5. python实现处理swagger接口文档,转换为yaml格式的自动化用例

    前言 之前有很多小伙伴反馈,希望我出一期 将swagger文档转换为 yaml格式的自动化用例,那么本期福利来咯~~这一篇文档,将会带领你们实现 如何通过 swagger文档转换为 yaml格式的用例 ...

  6. python自动测试p-关于《Python自动化测试实战》

    作者有话说 笔者写这本书的初心是想通过自身经验分享一些在自动化测试领域中的实用技术,能够帮助那些正在从事自动化测试相关工作或者准备转型自动化测试的测试人员.任何一门技术涵盖的知识点都是非常广泛的,可能 ...

  7. 用python自动化做ecshop测试_Python-自动化测试面试

    1.以你做过的项目,举例来说一下你的自动化测试是怎么做的? 参考答案:就拿简历上的ecshop项目来说吧,在编写脚本前,我们会对系统进行评估,确认这个系统可不可以实现UI自动化,如果可以的话,就筛选出 ...

  8. 关于python面向对象编程中、下列说法中_关于Python面向对象编程的知识点总结

    前言 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程. 接下来我们 ...

  9. 手机用appnium,web自动化用eclips+webdriver2

    手机用appnium,web自动化用eclips+webdriver2 吴建清 pycharm 1.安装环境 2.pycharm类似eclipse,写脚本,运行脚本 3.uiautomatorview ...

最新文章

  1. Leetcode 376. 摆动序列 解题思路及C++实现
  2. TCP 滑动窗口协议
  3. TP框架(接口文档模板框架)
  4. 360视频云Web前端HEVC播放器实践剖析
  5. CRC校验算法的解析,暨对网上的CRC详解的补充
  6. Java 程序员必备的一些流程图
  7. 微型计算机相关的英文文献,微型计算机控制系统(单片机控制系统)外文文献翻译.doc...
  8. 前端必知:微信小程序如何引入阿里图标
  9. 主成分分析(PCA)与线性判别分析(LDA)的区别与联系
  10. .texi文件如何转成pdf
  11. java手机号正则验证(中国手机号)
  12. 指令系统由计算机组成决定,《计算机组成原理》第5章指令系统.ppt
  13. for 一到100以内的质数
  14. lichee目录+android源码目录制作ROM
  15. 这是一份华为云私有云解决方案2017年的成绩单
  16. 3月9日—3月13日四年级课程表
  17. WPF:Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension'
  18. 三角函数π/2转化_@东莞同学,初中数学三角函数公式大汇总
  19. 信号处理--冲激和冲激串的傅里叶变换
  20. QT开发网络调试助手项目总结

热门文章

  1. 体检什么情况不能顺利入职
  2. 网络安全黑客常用工具
  3. sofa server端处理client端请求流程
  4. 在游戏中使用“CEGUI”
  5. 一、手把手教你 Vue2+Ts
  6. 如何计算ip地址及子网掩码
  7. mailbox数据发送和接收的过程
  8. 亚马逊、Lazada、ebay、wish、shopee、速卖通、阿里国际、沃尔玛、newegg、mercari测评自养号,卖家如何选择热门产品?来提高店铺产品的权重?
  9. ubuntu16.04安装fcl库出现的问题
  10. 3.15@Pointcut的表达式-@within