Python + Excel 办公自动化 01 —— 硬菜马上就来

简介: Python + Excel 办公自动化 01 —— 硬菜马上就来

决定写这套 Python 教程时,实属偶然,单纯地为了满足一个小女孩儿她极强的好胜心。小外甥女有天去找同学玩儿,恰好碰到人家在学 Scratch 编程,一种图形化的编程工具。她一眼就喜欢上了,回来跟我说,她也想学,感觉超酷的,等学会了,以后在学校里也能得瑟一下。

既然是要去得瑟,感觉 Scratch 还是太简单了些,还不如教她正式的编程,从小要是能持续积累一些编程经验,未来对她的成长大有帮助。其它不说,编程中最基本的逻辑判断能力、英文阅读能力,长期积累下来,足以能够让她在生活中更独立,能读更多的外文图书、资料。

我想教她一门,随时拿起来就能用的「工具」,首先排除了 Java、C 这类过于庞杂的语言,太枯燥了;也想过要不学点儿小程序开发吧,但我不太想她一直抱着手机,而且小程序等一些前端的技术会让人过于在意它「好不好看」,对于美不美这件事儿,我实在搞不定。

最后,决定带她学 Python,一种能解释执行的脚本语言。我尤其喜欢它能灵活处理数据这块儿,比如,等她学会怎么用 Python 进行数据分析了,她可以去做一个近几年高考中英语的高频词汇有哪些的分析,这对她自己的学习本身就有巨大的帮助。

1、Python 初识

「人生苦短,我用 Python」,因为 Python 语法简单,容易上手,目前已经成为最流行的,也是最适合初学者入门学习的编程语言之一。

编程语言尤其多,各有各的优点,但 Python 颇受开发者和分析师的青睐,主要是它拥有如下几个大家非常喜爱的特点:

  • 简单易学
  • 语法结构简单,对初学者来说,学习门槛低,极易上手
  • 运行够快
  • Python 底层由 C 语言来实现,包括很多第三方库也都是由 C 来实现,运行速度足够快
  • 高级语言
  • 使用高级语言,我们不需要额外关注内存管理,也不需要过多操心其系统架构
  • 表现力强
  • Python 非常人性化地提供了很多的构造,让我们可以专注于解决方案,而不是如何把程序写漂亮
  • 免费开源
  • Python 及其第三方库是开源且免费的,对开发者来说是莫大的福音,我能可以直接通过其官网下载获取
  • 可移植性
  • 目前 Python 可以被移植到 Linux 系统

Python 的生态极为丰富,拥有很多丰富且很强大的库(模块),基于这些模块,在处理很多复杂场景下的问题时,我们只需要掌握少量的代码,就可以解决了。

在接下来的内容中,我会通过不同场景中的案例,演示问题的分析到解决的过程和细节。包括数据的读取、清洗过滤、可视化等,还有办公自动化有关的 Excel、Word、PPT 等文件的操作,甚至某些通信工具的机器人开发,都会涉及。

此外,Python 还可以应用在数据分析、网站建设、游戏开发等方面。

2、什么是办公自动化?

职场中的我们,或多或少都会做一些重复性的工作,而且还要耗费大量的时间和精力,更尴尬的是时不时还出错,还不容易发现。

像企业里的人事、财务等等部门,大量的极其琐碎、重复的文档类操作,无时无刻不在消磨同事们的积极性。比如,每个月核算员工工资,通过邮件发送工资条,都能让他们不可避免地加班。

我们是否可以通过 Python 程序,来把这些重复且繁杂的单调工作,实现自动化来省下大量的时间呢?答案是,肯定可以,完全没问题,技术是无比强大的。

如何把自己工作中那些大量的极其琐碎、重复的工作,交给计算机,交给 Python 程序来处理呢?其实很简单,咱可以围绕这几步来实现:

第一步,认真去观察、思考,在日常工作中,你所负责的部分,哪些是琐碎又重复的,具体由哪几个步骤构成的,并把它们详细地拆解出来;

第二步,仔细思考,判断刚刚拆解出来的这几步,是否可以完全交给程序来完成,最终目的,就是把你的某个目标,合理地拆成多个可执行的小步骤;

第三步,接下来的,就交给程序来帮你完成这些步骤。

我们来看个例子,公司每个月都要给所有员工发工资,至少要涉及人事和财务两个部门。有的企业是财务部门会计,有的是人事部门人事会计,根据每个公司的系统或工作流程,计算工资的部门也不同。

在这里,我们按先由人事部门根据正常出勤和业绩考核、五险一金等来算出每个员工的薪资,再提交至财务部门核对,确认无误后则将薪资发放至银行卡,最后人事部门再将每月工资条通过邮件同步至每位员工。

我们来拆解一下,有两大步:

第一步,使用 Python 处理 Excel 数据;

第二步,设置邮箱和发送邮件。

但是你看,还不够细,我们还可以进一步拆解:

第一步,使用 Python 处理 Excel 数据

  • 自动登录公司后台管理系统;
  • 自动访问员工信息页面;
  • 自动爬取员工单月信息;
  • 自动统计员工薪资并生成 Excel 文档;
  • 自动提交人事、财务部门进行核查;
  • 自动发放薪资;

第二步,设置邮箱和发送邮件

  • 自动读取 Excel 文件数据;
  • 自动拆解每位员工的信息并生成个人 Excel 文件作为工资条;
  • 自动登录邮箱;
  • 自动给每位员工发送包含个人薪资信息的邮件;

你看,是不是拆解之后,每一步都很清晰且可执行。你只需要花点儿时间,将所有步骤通过程序来实现,那你就不仅能大幅度提高工作效率,还能避免没必要的错误,最重要的是能省下大量的时间和精力去做更加有意义的事情。

3、搭建 Python 开发环境

在咱们正式使用 Python 之前,先要把 Python 的开发环境搭建好,工欲善其事,必先利其器。主要是为了咱们后面把程序写好了之后,计算机能够识别出来,并且还能让程序跑起来,最终才能看到程序的执行效果。

这里需要给大家依次介绍几个重要工具的安装和使用方式,分别是:

  • 如何安装 Python?
  • 如何安装最流行的 Anaconda 集成开发环境?
  • 如何安装 Jupytere 库?
  • 如何安装和使用 pip 库管理工具?

3.1 安装 Python

这是比较原始的安装方式,此处仅要求了解即可,接下来会给大家介绍更方便的 Anaconda 集成开发环境的搭建方式。

Python 一种能解释执行的脚本语言,我们在电脑上安装 Python,实际上是安装了一套 Python 的解释器,为的是能让计算机能懂咱们写的 Python 代码想干嘛,要不电脑哪知道你要做什么呢?

Python 解释器是一款应用程序,它会将写好的 Python 程序按照其语法规则,去翻译成计算机可以识别且能够运行的机器码。

接着,我们去访问 Python 官网(https://www.python.org/),鼠标悬浮在 Downloads 标签上,就能看到针对你当前操作系统适用的 Python 版本的下载按钮,直接点击即可。

如果你用的是 Mac OS,也就是苹果电脑,在系统中通常已经安装了 Python,你可以打开「终端应用」,并输入 python -V 命令来检查现有版本。

如果你的 Python 版本还是 2.x,那么建议你下载并安装 3.x 版本。点击上面的下载按钮后,你将得到一个「python-3.10.5-macos11.pkg」文件。

第一步,双击打开 pkg 文件,开始安装。

第二步,按照「Python 安装向导器」的步骤,一步一步向下安装即可。安装过程非常简单,在弹出来的对话框,你直接点「继续」。接着,还需要你「同意」软件许可协议。

然后,选择安装的位置,建议默认不做任何改变,直接「安装」即可,直至安装成功。

第三步,我们再次打开「终端应用」,并输入 python -V 命令,就可以看到刚安装好的最新版本。

3.2 安装 Anaconda 集成开发环境

极力推荐大家安装 Anaconda,也是目前最流行的方式,在 Anaconda 集成环境中,我们不仅拥有了 Python 编程环境,还可以使用 Jupyter Notebook 编辑器,而且系统还会帮咱自动安装好一些常用的第三方库,省下不少功夫。

通过浏览器访问 Anaconda 官网(https://www.anaconda.com/products/distribution),官方提供了个人和商业版,它还支持 Mac OS、Windows、Linux 三大操作系统。咱们选择符合自己电脑系统的版本即可,这里我使用的是 Mac OS,直接点击「Download」按钮开始下载即可,你将得到一个「Anaconda3-2022.05-MacOSX-x86_64.pkg」文件。

第一步,双击打开 pkg 文件,开始安装,安装步骤跟安装 Python 几乎一致。

第二步,按照「Anaconda 安装向导器」的步骤,一步一步向下安装即可。安装过程非常简单,在弹出来的对话框,你直接点「继续」。接着,还需要你「同意」软件许可协议。

然后,选择安装的位置,建议默认不做任何改变,直接「安装」即可,直至安装成功。

第三步,在「应用程序」中,找到「Anaconda-Navigator」并打开,咱们就可以看到一个工作台了。可以看到,有些工具已经安装好了,比如 Jupyter Notebook,你直接点它下面的 Launch 按钮就能启动了。

3.3 使用 Jupyter 库

3.3.1 认识 Jupyter Notebook 和 JupyterLab

当 Anaconda 安装好之后,咱的 Jupyter Notebook 和 JupyterLab 两款工具也被安装好了,它们属于 Jupyter 库,是比较常用的开发环境。

Jupyter Notebook 是一款通过在浏览器中使用的优秀「交互式」编辑工具,咱们可以通过它来编写和执行 Python 代码。它还能够将代码、文字做到很好的融合,特博是在写完代码后,马上执行就能看到反馈。

比如,我通过代码画了一张「条形图」,特别简单:

3.3.2 使用 Jupyter Notebook

接着,我们就来研究一下,如何通过 Jupyter Notebook 来编写和执行 Python 代码。

第一步,在 Anaconda 工作台上,点击 Jupyter Notebook 下面的 Launch 按钮,启动之后会自动通过浏览器打开它的工作台,接着就可以看到如下页面;

第二步,选择进入合适的路径后,你就可以点击「新建」,再选择「Python3」就可以创建一个新的笔记本了;

第三步,来吧,直接在文本框中输入一句代码,用的是 print() 函数 —— 它能够实现打印效果,知识确实超前了,但没有关系,现在我们只作观察,并不需要我们掌握它。

.

第四步,代码写好之后,需要运行它才能看得到结果。在菜单栏中,点击「运行」按钮,接着你就能在下一行看到打印出来的结果,确实很简单。

到此为止,我们迈出了最重要的一步,编写并运行了第一行 Python 代码。

3.3.3 使用 JupyterLab

JupyterLab 是 Jupyter Note 的最新一代产品,而且还集成了更多更好用的功能,它支持使用 Python 来实现数据分析、数据可视化等操作,目前颇受大家的喜爱。

第一步,在 Anaconda 工作台上,点击 JupyterLab 下面的 Launch 按钮,启动之后会自动通过浏览器打开它的工作台,接着就可以看到如下页面;

JupyterLab 窗口左侧一栏,是系统工作路径,也是我们存放笔记本的路径;右侧主要有 Notebook、Console、Other 等三大块儿,是所要创建笔记本的类型,还有一些常用文件的类型。

第二步,左边选好对应路径后,再选择创建「Notebook」类型的笔记本,就可以开始编写代码了。

编写了一个 print() 函数,在函数中指定了“I Love Python”字符,并将其运行打印了,结果如图所示:

是不是也很简单?后面,我们的案例默认使用 JupyterLab 来编写和运行。

原创不易,如果您也学会了,欢迎来一个「三连」鼓励下呗,点赞、关注、转发,谢谢!

目录
相关文章
|
24天前
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
1月前
|
人工智能 安全 虚拟化
Cua:Mac用户狂喜!这个开源框架让AI直接接管你的电脑,快速实现AI自动化办公
Cua是一个结合高性能虚拟化与AI代理能力的开源框架,能在Apple Silicon上以接近原生性能运行虚拟机,并让AI直接操作系统应用。
195 17
Cua:Mac用户狂喜!这个开源框架让AI直接接管你的电脑,快速实现AI自动化办公
|
1月前
|
人工智能 运维 API
无需配置开箱即用!MoLing:基于MCP开发的自动化办公服务,一键搞定文件与网页操作
MoLing是一款基于Go语言开发的跨平台办公自动化工具,通过操作系统API和浏览器自动化框架实现文件操作、命令执行及网页控制,无需额外依赖即可运行。
124 1
无需配置开箱即用!MoLing:基于MCP开发的自动化办公服务,一键搞定文件与网页操作
|
5月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
432 61
自动化微信朋友圈:Python脚本实现自动发布动态
|
2月前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
3月前
|
存储 数据采集 数据格式
Python自动化Office文档处理全攻略
本文介绍如何使用Python自动化处理Word、Excel和PDF文档,提升办公效率。通过安装`python-docx`、`openpyxl`、`pandas`、`PyPDF2`和`pdfplumber`等库,可以轻松实现读取、修改、创建和批量处理这些文档。具体包括:自动化处理Word文档(如读取、修改内容、调整样式),Excel文档(如读取、清洗、汇总数据),以及PDF文档(如提取文本和表格数据)。结合代码示例和实战案例,帮助你掌握高效办公技巧,减少手动操作的错误率。
144 1
|
4月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
177 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
5月前
|
人工智能 自然语言处理 JavaScript
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
Univer 是一款开源的 AI 办公工具,支持 Word、Excel 等文档处理的全栈解决方案。它具有强大的功能、高度的可扩展性和跨平台兼容性,适用于个人和企业用户,能够显著提高工作效率。
495 9
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
|
3月前
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
|
5月前
|
存储 人工智能 人机交互
PC Agent:开源 AI 电脑智能体,自动收集人机交互数据,模拟认知过程实现办公自动化
PC Agent 是上海交通大学与 GAIR 实验室联合推出的智能 AI 系统,能够模拟人类认知过程,自动化执行复杂的数字任务,如组织研究材料、起草报告等,展现了卓越的数据效率和实际应用潜力。
481 1
PC Agent:开源 AI 电脑智能体,自动收集人机交互数据,模拟认知过程实现办公自动化