你工作效率低,可能是因为不会Python...

news2024/9/25 9:40:36

前言

你是不是感觉你的工作非常无聊,每天有大量的重复性的工作要做,比如在我的工作中,就有很多类似的动作。每天早上要看我们DevOps流水线跑出的结果,查看各个微服务中的重复代码率是多少,有没有增加,CleanCode中的各项指标怎么样,代码的UT覆盖率有没有降低,引入的开源软件有没有出现漏洞等等数据,然后将各个微服务的这些数据统计到一个表格中,然后发送一个邮件给全组的成员,让每一个微服务的开发负责人去确认和处理。这是一件非常繁琐且无聊的工作,并且对于自身的成长没有一点帮助。而且这个重复性的动作,需要每天早上都要去做,还会经常出现忘记的情况,等来的就只能是领导的指责。

人工统计不仅慢,而且还容易出错,后来,通过python解放了我的双手,不仅节省了时间,还保证了结果正确性。我可以将更多精力放在需求设计和开发中了。

首先,通过python爬虫,爬取DevOps网站中的扫描结果,将一些核心的重要数据都爬取下来,然后按照微服务维度,写入到一个Excel中,然后再对Excel中的数据进行统计,获取到数据的增长趋势,还可以生成一个折线图,最后将这份Excel通过邮件的形式,发送给团队内的所有成员。以上动作全部是由Python脚本实现的,并且设置一个定时任务,每天早上8点执行。

以前需要一个人接近半个小时才能完成的任务,现在通过python脚本,只需要几秒钟就可以轻松搞定,这效率提升了几万倍啊。并且,这是每天都要执行的,节省的时间更是不可估量。

接下来,我将带你们看一下python在我们日常的工作中可以做哪些事情,通过这些python脚本,可以解放我们的双手。

数据处理自动化

数据处理是在工作中经常会遇到的任务,通过使用Python的Pandas、NumPy和SciPy等库,可以帮助我们更高效地完成数据清洗、转换和分析工作。相比于手动操作Excel,使用Python可以自动处理大量数据,大大提高工作效率。我们只需要编写一些简单的代码,就能够完成繁琐的数据处理任务。比如,我们可以通过Pandas读取和写入Excel文件,对数据进行排序、过滤、合并、计算等操作。而且,使用Python的强大科学计算库NumPy和SciPy,我们可以进行更复杂的数据分析、统计和建模工作。

在繁忙的工作中,手动处理大量数据就像挖掘山里的黄金一样辛苦费时,而利用Python进行数据处理就相当于拥有了一台高效的挖掘机,能够快速又准确地处理数据。

代码案例:

import pandas as pd  
  
# 读取Excel文件  
data = pd.read_excel("data.xlsx")  
  
# 进行数据清洗和转换  
clean_data = data.dropna()  # 删除缺失值  
transformed_data = clean_data.apply(lambda x: x * 2)  # 数据乘以2  
  
# 分析数据  
mean_value = transformed_data.mean()  # 计算均值  

通过上面的代码,我们可以看到利用Python进行数据处理的简洁和高效。不仅可以轻松完成数据清洗、转换等操作,还可以进行数据分析和计算。

假设我们需要对一个销售数据进行清洗和分析。原始数据包含了一些缺失值,我们可以使用Pandas的dropna()函数删除缺失值,保证数据的完整性。然后,通过应用lambda函数,将数据中的每个值都乘以2,达到数据转换的目的。最后,可以计算转换后数据的均值,进行更深入的数据分析和洞察。使用Python的数据处理功能,可以很方便地完成这一系列的操作,而且效率更高。

邮件自动化

在工作中,我们经常需要处理大量的邮件,包括撰写、发送、管理等工作。利用Python的smtplib和email库,可以帮助我们实现邮件的自动化。通过编写一些简单的代码,可以减少重复的邮件撰写和发送工作,提高工作效率。

首先,我们可以使用smtplib库连接到邮件服务器,并使用email库创建邮件对象。然后,可以通过设置邮件的主题、收件人、正文和附件等信息,实现邮件的自动生成。例如,我们可以编写一个函数,实现定时发送提醒邮件的功能。这样,我们只需要设置好邮件的内容和发送时间,就能够实现定时发送邮件的自动化。

邮件的自动化就像我们拥有了一个值班秘书,可以代替我们处理重复的邮件事务,让我们有更多时间专注于其他重要的工作。

代码案例:

import smtplib  
from email.mime.text import MIMEText  
  
def send_email(subject, recipient, content):  
    # 创建邮件对象  
    msg = MIMEText(content)  
    msg["Subject"] = subject  
    msg["From"] = "example@example.com"  
    msg["To"] = recipient  
  
    # 连接邮件服务器并发送邮件  
    smtp = smtplib.SMTP("smtp.example.com")  
    smtp.login("username", "password")  
    smtp.sendmail("example@example.com", [recipient], msg.as_string())  
    smtp.quit()  
  
# 定时发送提醒邮件  
subject = "重要会议提醒"  
recipient = "example@example.com"  
content = "本周五下午2点有重要会议,请准时参加。"  
send_email(subject, recipient, content)  

通过上面的代码,我们可以看到利用Python进行邮件自动化的便利和高效。只需要简单地调用函数,就能够实现邮件的自动生成和发送。

假设我们需要定时发送一个会议提醒邮件。通过调用send_email函数,并设置好邮件的主题、收件人和正文内容,就可以实现每周自动发送提醒邮件的功能。这样,我们无需手动撰写和发送邮件,节省了重复性的工作。同时,也避免了因为疏忽而忘记发送邮件的情况发生。

任务调度和自动化

在工作中,我们经常会遇到一些重复性的任务,比如定时备份文件、批量重命名文件、自动化测试等。利用Python的sched和time模块,可以轻松实现任务的调度和自动化。

首先,我们可以使用sched模块创建一个调度器,并设置定时执行的时间间隔。然后,通过编写相应的函数,实现具体的任务逻辑。比如,我们可以编写一个函数,实现每天凌晨自动备份指定目录的文件。这样,我们只需设置好备份目录和备份时间,就能够实现定时备份文件的自动化。

任务的调度和自动化就像我们拥有了一个智能管家,可以按照我们的要求,每天准时为我们完成各种琐碎的任务。

代码案例:

import sched  
import time  
import shutil  
  
def backup_files(backup_dir):  
    # 备份指定目录的文件  
    shutil.copytree("data", backup_dir)  
  
# 创建调度器  
s = sched.scheduler(time.time, time.sleep)  
  
# 设置定时执行任务  
def perform_backup(backup_dir):  
    # 备份文件  
    backup_files(backup_dir)  
  
    # 下次执行时间(每天凌晨1点)  
    next_time = time.time() + 24 * 60 * 60  
    s.enterabs(next_time, 1, perform_backup, (backup_dir,))  
  
# 设置初始执行时间(第二天凌晨1点)  
start_time = time.time() + 24 * 60 * 60  
s.enterabs(start_time, 1, perform_backup, ("backup",))  
  
# 启动调度器  
s.run()  

通过上面的代码,我们可以看到利用Python进行任务调度和自动化的便捷和高效。只需要编写一些简单的函数,并设置好执行时间,就能够实现任务的自动调度和执行。

假设我们需要每天凌晨备份一个指定的文件目录。通过编写backup_files函数,并设置调度器的执行时间,就可以实现每天定时备份文件的自动化。这样,我们无需手动执行备份操作,节省了重复性的工作。同时,也避免了因为疏忽而忘记备份文件的情况发生。

利用Python进行任务调度和自动化可以极大地提升工作效率,减少重复的任务操作,让我们能够更专注于重要的工作内容。通过合理地设置任务的执行时间和逻辑,可以更好地管理和处理各种琐碎的任务。

数据可视化

在工作中,我们经常需要将数据转化为直观、易懂的图表和图形,与团队和客户进行沟通和展示。利用Python的Matplotlib和Seaborn等数据可视化库,可以帮助我们快速生成各种图表和图形,提高与他人的沟通效率。

首先,我们可以使用Matplotlib库创建各种图表,比如走势图、饼图、柱状图、热力图等。通过设置图表的数据和样式,可以将数据转化为直观、易懂的图表。另外,Seaborn库提供了更强大的数据可视化功能,可以轻松绘制高级的统计图表。例如,我们可以使用Seaborn的heatmap函数绘制热力图,展示数据的相关性。

数据可视化就像是将数据变成了一副美丽的图画,让我们更好地理解和传递数据背后的故事。

代码案例:

import matplotlib.pyplot as plt  
import seaborn as sns  
  
# 数据可视化  
ages = [25, 30, 35, 40, 45]  
salaries = [3000, 5000, 6000, 8000, 10000]  
  
# 绘制柱状图  
plt.bar(ages, salaries)  
plt.xlabel("Age")  
plt.ylabel("Salary")  
plt.title("Salary by Age")  
  
# 展示图表  
plt.show()  
  
# 绘制热力图  
sns.heatmap(data)  
plt.xlabel("X")  
plt.ylabel("Y")  
plt.title("Heatmap")  
plt.show()  

通过上面的代码,我们可以看到利用Python进行数据可视化的简单和灵活。只需要设置好图表的数据和样式,就能够快速生成各种图表。

假设我们需要展示不同年龄段的薪资情况。通过使用Matplotlib的bar函数,我们可以绘制一个柱状图,将年龄和薪资作为横纵坐标,直观地展示不同年龄段的薪资水平差异。另外,我们还可以使用Seaborn的heatmap函数,绘制一个热力图,展示数据的相关性。这样,我们可以更直观地了解数据的分布和关联,提高与他人的沟通效率。

自动化脚本

在工作中,我们经常会遇到一些重复性的任务,比如批量处理文件、自动化测试、网页爬虫等。利用Python编写脚本,可以帮助我们自动化这些日常工作,提高工作效率。

首先,我们可以使用Python的文件操作功能进行批量处理文件。通过编写脚本,可以自动完成文件的复制、移动、重命名等操作。例如,我们可以编写一个脚本,将一个文件夹下的所有文件复制到另一个文件夹中。这样,我们只需要运行脚本,就能够自动完成文件的批量处理。

自动化脚本就像一个聪明的助手,能够帮我们完成重复性的工作,让我们有更多的时间和精力专注于其他有价值的工作。

代码案例:

import os  
import shutil  
  
def batch_process_files(source_dir, target_dir):  
    # 获取源文件夹下的所有文件  
    files = os.listdir(source_dir)  
  
    # 遍历所有文件  
    for file in files:  
        # 构造源文件路径和目标文件路径  
        source_path = os.path.join(source_dir, file)  
        target_path = os.path.join(target_dir, file)  
  
        # 复制文件到目标文件夹  
        shutil.copy(source_path, target_path)  
  
# 设置源文件夹和目标文件夹  
source_dir = "source"  
target_dir = "target"  
  
# 批量处理文件  
batch_process_files(source_dir, target_dir)  

通过上面的代码,我们可以看到利用Python编写自动化脚本的简洁和便利。只需要编写一些简单的函数,并设置好源文件夹和目标文件夹,就能够实现文件的批量处理。

假设我们需要将一个文件夹下的所有文件复制到另一个文件夹中。通过调用batch_process_files函数,并设置好源文件夹和目标文件夹,就可以实现文件的批量复制。这样,我们无需手动复制每一个文件,节省了重复性的工作。当然,这个例子可能不是特别恰当,手动批量复制更快,但是在处理一些批量的重复性工作中,编写一个脚本来执行是非常方便的。

总结

利用Python的各种功能和工具,可以实现更高效、智能的工作方式。无论是数据处理自动化、邮件自动化、任务调度和自动化、数据可视化,还是自动化脚本,都可以帮助我们更好地完成工作,提高工作效率。

通过使用Python的各种库和模块,比如Pandas、NumPy、SciPy、smtplib、email、sched、time、Matplotlib、Seaborn等,我们可以实现数据的快速处理、邮件的自动发送、任务的定时执行、数据的可视化展示以及各种日常工作的自动化。

利用Python进行工作的能力和技巧可以让我们在繁忙的工作中事半功倍,集中精力处理更重要的工作内容。

---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/930379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Qt学习】06:事件与事件过滤器

OVERVIEW 事件与事件过滤器一、事件1.鼠标事件创建子类MyLabel重写鼠标事件提升Label控件为MyLabel 2.定时器事件timerEventQTimer 3.事件分发器(event函数)event函数重写event函数深入 二、事件过滤器1.事件过滤器2.事件处理的五个层次 事件与事件过滤器…

VMVareC++开发环境快速配置

OVERVIEW VMVareC开发环境快速配置ipgitvimgithubzshgcc&g&cmakesshifconfigmysqlnginxredisgdb VMVareC开发环境快速配置 VMVareC开发环境快速配置,为了省时间快速整理出文档方便以后快速配置, 按照这个流程直接可以快速得到一个舒适的C/C开发…

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks

这是一篇GNN的综述, 发表于2021年的TNNLS. 这篇博客旨在对GNN的基本概念做一些记录. 论文地址: 论文 1. 引言, 背景与定义 对于图像数据来说, CNN具有平移不变性和局部连接性, 因此可以在欧氏空间上良好地学习. 然而, 对于具有图结构的数据(例如社交网络 化学分子等)就需要用…

用AI + Milvus Cloud搭建着装搭配推荐系统

在上一篇文章中,我们学习了如何利用人工智能技术(例如开源 AI 向量数据库 Milvus Cloud 和 Hugging Face 模型)寻找与自己穿搭风格相似的明星。在这篇文章中,我们将进一步介绍如何通过对上篇文章中的项目代码稍作修改,获得更详细和准确的结果,文末附赠彩蛋。 注:试用此…

Excel 打开文件提示内存或磁盘不足

Excel表格打开文件时,提示内存或磁盘空间不足,Microsoft Excel 无法再次打开或保存任何文档,这是很多人都会遇到的问题,该如何解决这个问题呢?如果你是用Excel表格打开某个文件时遇到提示内存或磁盘空间不足&#xff0…

学好嵌入式,未来能干啥?

很多对嵌入式行业不了解的人会以为嵌入式就是单纯搞单片机的工作。甚至有很多专业学生也抱有这种观念。 这种现象的原因在于大学专业中没有专门针对嵌入式行业的完善专业体系。嵌入式的知识体系庞大,不同的方向需要的知识差异很大。关于嵌入式学习路线,网…

Django(4)-Django 管理页面

创建一个管理员账号 python manage.py createsuperuser运行项目,访问http://127.0.0.1:8080/admin,可以看到管理员界面 管理页面加上投票应用 polls/admin.py from django.contrib import admin# Register your models here. from .models import …

npm和yarn的区别?

文章目录 前言npm和yarn的作用和特点npm和yarn的安装的机制npm安装机制yarn安装机制检测包解析包获取包链接包构建包 总结后言 前言 这一期给大家讲解npm和yarn的一些区别 npm和yarn的作用和特点 包管理:npm 和 yarn 可以用于安装、更新和删除 JavaScript 包。它们提…

腾讯云服务器可用区是什么?可用区怎么选择?

腾讯云服务器可用区是什么意思?可用区是指同一地域内电力和网络互相独立的物理数据中心,腾讯云每个地域下都有多个可用区供选择,将应用部署到不同可用区能够做到故障隔离,提升应用的可靠性和容灾性,阿腾云来详细说下什…

SpringMVC 第二天

第 1 章 ModelAttribute 和 SessionAttribute[ 应 用 ] 1.1ModelAttribute 1.1.1 使用说明 作用: 该注解是 SpringMVC4.3 版本以后新加入的。它可以用于修饰方法和参数。 出现在方法上,表示当前方法会在控制器的方法执行之前,先执行…

综合能源系统(9)——综合能源系统运行管控平台技术

综合能源系统关键技术与典型案例  何泽家,李德智主编 1、综合能源系统运行管控平台技术发展现状 在综合能源服务蓝海市场驱动下,作为能源和互联网跨界融合中枢产品,综合能源服务平台取得了较大进展。综合能源服务平台属性示意图如图3-47所…

Jvm之JIT优化详细解释

文章目录 一、JIT 产生的背景二、HotSpot虚拟机内置JIT编译器1. Client Compiler2. Server Compiler3. 查看本地编译器模式 三、常见热点探测技术1. 基于计数器的热点探测2. 基于采样的热点探测2.1 方法调用计数器2.2 回边计数器 四、常见JIT优化手段1. 公共子表达式消除2. 方法…

vue登录验证码组件,前端验证

效果图 点击可以切换验证码 自定义组件 <template><div class"s-canvas"><canvas id"s-canvas" :width"contentWidth" :height"contentHeight"></canvas></div> </template> <script> e…

左偏树\可并堆

https://www.luogu.com.cn/problem/P3377 作用&#xff1a;可并堆 形态&#xff1a;堆满二叉树 即左节点最小深度大于等于右节点最小深度 合并过程&#xff1a;

谷歌浏览器响应Failed to load response data: no resource with given identifer found

1、如下问题展示&#xff0c;这个是新版谷歌浏览器的不知道啥时候出现的问题&#xff0c;以前旧版未出现过&#xff0c;所以降版本浏览器可能可以 2、但是&#xff0c;博主的方法是换一个浏览器&#xff0c;换成edge就没问题了&#xff0c;由于用习惯了谷歌&#xff0c;所以这…

算法竞赛入门【码蹄集新手村600题】(MT1220-1240)C语言

算法竞赛入门【码蹄集新手村600题】(MT1220-1240&#xff09;C语言 目录MT1221 分数的总和MT1222 等差数列MT1223 N是什么MT1224 棋盘MT1225 复杂分数MT1226 解不等式MT1227 宝宝爬楼梯MT1228 宝宝抢糖果MT1229 搬家公司MT1230 圆周率MT1231圆周率IIMT1232 数字和MT1233 数字之…

OLED透明屏:在广告领域中的应用,为品牌注入更强的视觉冲击

OLED透明屏作为一项引人注目的技术创新&#xff0c;其独特的透明度和高清晰度为各行各业带来了全新的展示和创意空间。 本文将详细介绍其透明度、高对比度、超薄柔性设计以及强大的颜色表现力&#xff0c;并探讨其在零售、汽车和建筑等领域的应用前景。 一、透明度&#xff1a…

大数据Flink(六十七):SQL Table 简介及运行环境

文章目录 SQL & Table 简介及运行环境 一、​​​​​​​​​​​​​​简介 二、案例

Ansible 生成主机文件

生成主机文件 将一个初始模板文件从 http://materials/hosts.j2 下载到 /home/greg/ansible 完成该模板&#xff0c;以便用它生成以下文件&#xff1a;针对每个清单主机包含一行内容&#xff0c;其格式与 /etc/hosts 相同 创建名为 /home/greg/ansible/hosts.yml 的 playboo…

谁才是Python最强IDE?

本文概述了大量优秀的 Python IDE 和其他工具。决定使用哪一种工具取决于工具的便利性和对工具的熟练程度。当然&#xff0c;也有大家都喜欢的工具&#xff08;如 PyCharm&#xff09;&#xff0c;但是你可以多尝试几种工具&#xff0c;看看哪种最适合你。 每个人都知道这一点…