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 来编写和运行。

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

目录
相关文章
|
10天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
45 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
5天前
|
存储 Python
Python自动化脚本编写指南
【10月更文挑战第38天】本文旨在为初学者提供一条清晰的路径,通过Python实现日常任务的自动化。我们将从基础语法讲起,逐步引导读者理解如何将代码块组合成有效脚本,并探讨常见错误及调试技巧。文章不仅涉及理论知识,还包括实际案例分析,帮助读者快速入门并提升编程能力。
24 2
|
7天前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
20 3
|
6天前
|
数据采集 IDE 测试技术
Python实现自动化办公:从基础到实践###
【10月更文挑战第21天】 本文将探讨如何利用Python编程语言实现自动化办公,从基础概念到实际操作,涵盖常用库、脚本编写技巧及实战案例。通过本文,读者将掌握使用Python提升工作效率的方法,减少重复性劳动,提高工作质量。 ###
20 1
|
13天前
|
运维 监控 应用服务中间件
自动化运维:如何利用Python脚本提升工作效率
【10月更文挑战第30天】在快节奏的IT行业中,自动化运维已成为提升工作效率和减少人为错误的关键技术。本文将介绍如何使用Python编写简单的自动化脚本,以实现日常运维任务的自动化。通过实际案例,我们将展示如何用Python脚本简化服务器管理、批量配置更新以及监控系统性能等任务。文章不仅提供代码示例,还将深入探讨自动化运维背后的理念,帮助读者理解并应用这一技术来优化他们的工作流程。
|
14天前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
14天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
|
11天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
4天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
4天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!