三军可夺帅也,匹夫不可夺志也。

知乎上有人提问:用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的入门教程:

xlwings,让excel飞起来!

你也可以查询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三个库配合使用,实现邮件编写、发送、接收、读取等一系列自动化操作,省时省力。

看了其他很多教程都有各种各样的问题,需要不断改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数据分析处理的回答和文章,这里不再啰嗦了。

自动化爬虫

相信爬虫是大家最感兴趣的,python爬虫有很多的实现库,比如:urllib、requests、scrapy等,以及xpath、beautifulsoup等解析库。

爬虫入门容易,但学精难,所以初学者可以尝试写点简单的爬虫,比如豆瓣、知乎、微博呀。

推荐大家去学习requests、bs4来入门爬虫,提供对应中文学习网站:

https://2.python-requests.org//zh_CN/latest/

https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

其它

其它不常用的自动化办公库,像处理pdf、图片、视音频等,这里不做过多介绍。

如果有兴趣可以在本文末留言,你用过哪些逆天的python库,解决了哪些问题?

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

利用Python进行数据分析(原书第2版)(作者:[美]韦斯.麦金尼)、对比Excel,轻松学习Python数据分析(作者:张俊红)

------------------- End -------------------

python自动化办公都能做什么-盘点使用Python进行自动化办公所需要的知识点相关推荐

  1. python自动化办公都能做什么-用Python自动办公,做职场高手(完结)

    教程目录: ┣━07.S2 Word自动化处理,又快又好做文档 ┃ ┣━36 本章介绍 ┣━08.[Word]S2-1 轻松用Python快速生成Word文档 ┃ ┣━45.[真实案例]S2-1-3 ...

  2. python自动化办公都能做什么-用 Python 自动化办公,我与大神之间的差距一下就...

    我想介绍一下我是如何从每天工作8小时,进化成每天工作10分钟的,以下不涉及太多的技术细节. 0.先自我介绍一下: 我不是程序员,大学学的也不是IT专业. 我在一个主要业务是成品粮交易的企业工作,我的岗 ...

  3. 学python可以做什么职业-学完python都能做哪些职业?老男孩Python基础培训

    在it行业中,编程语言有很多种,而python可以说是其中最受欢迎的一种,简单易学.入门快,也成为了不少编程爱好者的首选语言.不过对于刚刚接触的编程的人来说,在学习python的时候都会疑惑,pyth ...

  4. python这个软件学会能做什么工作-学会Python后都能做什么?网友们的回答简直不要太厉害...

    如今,越来越多的人加入到学习Python的队伍当中. 有的学习者是设计师,学习Python可以帮助他们查找更多的海报案例;有的学习者是大学生,学习Python可以帮助他们更好地查阅论文资料;还有的学习 ...

  5. python这个软件学会能做什么工作-学会Python真的有高收入?盯,请查收这份入坑指南...

    学会Python真的有高收入?盯,请查收这份入坑指南 2018-10-10 20:51:00 567点赞 6312收藏 186评论 小编注:想获得更多专属福利吗?金币加成.尊享众测.专属勋章.达人福利 ...

  6. python自动化办公都能做什么-用python进行办公自动化都需要学习什么知识呢?

    --------2020/8/11更新-------- 这个答案发了有一段时间了,也看了不少小伙伴的回复.为了节省时间,把最结论性的内容放前面: 对于会计这个行业,如果一定想用代码来试试自动化办公的话 ...

  7. python自动化办公都能做什么-用 Python 自动化办公能做到哪些有趣或有用的事情?...

    首先,很感谢党,感谢政府,感谢麻瓜编程,能在有幸之年认识一帮让我膜拜的大佬(咳咳,有点跑题)................... 学习初衷:作为一名财务打杂工,对财务岗位大多数繁冗低效无意义的工作深 ...

  8. python自动化办公都能做什么菜-python做日历

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 以下是使用几个简单的函数实现给定指定年月实现当月日历输出的程序,大部分内容引用自 ...

  9. python自动化办公都能做什么菜-Python 让我再次在女同学面前长脸了!(真实案例)...

    原标题:Python 让我再次在女同学面前长脸了!(真实案例) 事情是经过这样的: 晚上在家王者的时候,微信突然弹出了一条好友添加提醒,一看昵称,居然是我们大学的班花!!! 这真是奇怪了,我之前连班花 ...

最新文章

  1. 头条二面:宕机后,Redis如何实现快速恢复?
  2. 计算机更改本地用户,win10电脑更改本机账户名的详细步骤(图文)
  3. nginx与php-fpm通讯方式
  4. Rabbit寻宝记(2)
  5. SAP Spartacus的登录页面的用户名显示逻辑
  6. redhat java 多个版本_Linux下安装JDK(多个版本) 切换
  7. 如何解决aText for mac不响应的教程
  8. CentOS 安装OciLib 4.2.1 (Linux)
  9. android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题...
  10. 大数据时代的全能日志分析专家--Splunk安装与实践
  11. 百度地图开发只显示网格不显示地图信息
  12. 【eclipse插件开发实战】Eclipse插件开发2——SWT
  13. leetcode刷题日记- 重复叠加字符串匹配
  14. 【BZOJ 3531 Sdoi2014】旅行【动态开点线段树+树链剖分】
  15. 物联网标准组织OCF成立 有望解决碎片化问题
  16. bjui给出的一个标准应用的首页
  17. 【NLP】形式语言与自动机
  18. 怎么建立局域网_智能电视局域网共享怎么操作?多数品牌都适用的方法!
  19. cocos creator微信小游戏,使用微信云开发实现“世界排行榜”
  20. 一些对计算机有用的资源

热门文章

  1. Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
  2. C# async await
  3. Centos7 配置网络
  4. 数据结构-环形队列 C和C++的实现
  5. 12. javacript高级程序设计-DOM2和DOM3
  6. [转载]提升进程权限-OpenProcessToken等函数的用法
  7. Leetcode OJ: Maximun Subarray
  8. Requests 1.0 发布,Python 的 HTTP 客户端库
  9. Bailian4120 硬币【0-1背包】
  10. UVA1226 LA3997 Numerical surprises【大数】