热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python只循环目录_python自动化办公太难?学这些就够用了

有人提问:用python进行办公自动化都需要学习什么知识呢?这可能是很多非IT职场人士面临的困惑,想把python用到工作中,
1b72ae9dfdefc99836057ea332207b36.png

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

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

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

  • python 基础
  • excel 自动化
  • ppt 自动化
  • word 自动化
  • 邮件处理
  • 文件批量处理
  • 数据处理与分析
  • 自动化爬虫

具体也可以看我的相关Live

下面一一详解。

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 基础语法核心部分,仅供参考:


href="http://mp.weixin.qq.com/s?__biz=MzA3ODYwNDkzOQ==&mid=2659057111&idx=1&sn=f3076362517e57b52a2d648be22b8bdf&chksm=84c96233b3beeb25f52a4f986d85d02595ab5ed6079f5d67ed02c6d841ea808773c7b9d83d0c#rd"> 一文读懂 python 的 map、reduce 函数
一文搞懂 Python 迭代器和生成器
一文搞懂 Python 匿名函数
一文搞懂 Python 文件读写
一文搞懂 Python 循环技巧
一文搞懂 Python 错误和异常
一文搞懂 python 日期时间处理

语法是关键,一定要理解 python 编程的基本概念,再去学其他的工具库。

不然会很痛苦的。

excel 自动化

office 家族其实都可以用 VBA 解决自动化的问题,但可能很多人不会用。

python 针对 excel 有很多的第三方库可以用,比如 xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils 等等。

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

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

之前写过一个 xlwings 的入门教程:xlwings,让 excel 飞起来!

以及 xlrd、xlwt 的使用: 教你使用 Python 批量读写 excel 文件

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

当然最好是看官网教程:

https://www.xlwings.org/[4]

8e631e43ecdc61690a523763d91caf68.png

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

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

ppt 自动化

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

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

01232fade934c01c774a85fc19bda9ad.png

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

f9e56ae69a5f6720d56151af6e415222.png

word 自动化

python 操作 Word 的库:

  • python-docx、import docx:只对 windows 平台有效
  • pypiwin32、import win32com:跨平台,但无法处理 doc 格式的 word 文本,doc 格式不是基于 xml 的
  • textract、import textract:它同时兼顾“doc”和“docx”,但安装过程需要一些依赖。 你可以批量的用 python 生成 word 文件,推荐使用 docx,不需要会太多。
59993dfbfd705d4edf35ff810000a418.png

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

2945a99a0702036fd5ea476d6fd60d11.png

邮件处理

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

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

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

文件批量处理

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

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

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

c3b735528f0feb7cd0a8c357d6cf2d0f.png

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

方法作用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 中 matplotlib, numpy, scipy, pandas?小白入门 Python 数据科学全教程

自动化爬虫

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

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

案例都给你准备好了:小白如何入门 Python 爬虫使用 requests 爬取拉勾网 python 职位数据实操 | 从 0 到 1 教你用 Python 来爬取整站天气网

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

其它

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



推荐阅读
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 前言无论使用哪种语言,我们都需要关注性能优化,提高执行效率。选择脚本语言需要持久的速度。在某种程度上,这句话说明了Python作为一种脚 ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 开发笔记:超全的《 Django 入门教程 》上线了,居然还免费!
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了超全的《Django入门教程》上线了,居然还免费!相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 深刻理解 python中函数的参数 引用的传递方式
    函数的参数作为引用Python唯一支持的参数传递模式是共享传参(callbysharing)。共享传参指函数的各个形参获得实参中各个引用的副本。也就是 ... [详细]
author-avatar
.
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有