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

2023-11-19

前言

你是不是感觉你的工作非常无聊,每天有大量的重复性的工作要做,比如在我的工作中,就有很多类似的动作。每天早上要看我们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进行工作的能力和技巧可以让我们在繁忙的工作中事半功倍,集中精力处理更重要的工作内容。

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

你工作效率低,可能是因为不会Python 的相关文章

随机推荐

  • android界面监控,防劫持

    1 首先要对自己应用的activity建立一个白名单 2 权限
  • http协议从客户端提交数据给服务器并返回数据

    老罗视频学习 本例从客户端提交数据给服务器 服务器接收到数据之后 看是否匹配 匹配返回字符串 login is success 失败返回 login is error 一 客户端 初始化url地址 private static String
  • Git如何比较不同分支的差异

    前两天 良许在做集成的时候碰到了一件闹心事 事情是这样的 良许的一位同事不小心把一个错误的 dev 分支 merge 到了 master 分支上 导致了良许编译不通过 于是 我们需要将版本回退到 merge 之前的状态 如果是下面这个状态
  • 电子设计竞赛(三)-SPWM与PID

    1 SPWM波调制技术 逆变电路的控制方式主要是采用SPWM 正弦脉宽调制技术 IR2104控制开关管的通断来实现正弦调制 SPWM的基本思路是将一个正弦波按等宽间距分成N等份 对于每一个波形以一个等面积的脉冲来对应 使脉冲的中点与相应正弦
  • python3 hashlib库sha256、pbkdf2_hmac、blake2b基本用法

    hashlib sha256 import hashlib x hashlib sha256 x update b asd print x 1 x hexdigest x hashlib sha256 x update asd encode
  • 数据下载网站整理

    数据十分重要 如何找到理想的数据显得更重要了 这里记录自己经过网上查询到的数据 进行整理 如果侵权 请联系我删除 再次感谢网友大佬们提供的资料 1 中国气象站点数据 下载地址 https www resdc cn data aspx DAT
  • 递归算法中的时间复杂度分析

    对于一种算法的时间复杂度分析还是特别重要的 在一些非递归算法中 我们仅仅看运算次数最多的那一行代码可能执行多少次就可以 实际就是看在循环中变量的变化 但是对于递归算法中该怎么分析呢 下面介绍几种递归函数中的算法时间复杂度分析的方法 0 递推
  • 使用paramiko跨服务器传输文件/文件夹

    一些概念 SSH Secure Shell 安全外壳协议 是建立在应用层基础上的安全协议 专为远程登录和其他网络服务提供安全性的协议 SFTP SSH 文件传输协议 Secret File Transfer Protocol SFTP 安全
  • window.location.href的用法

    window location href的用法 一 前言 二 常见用例 一 前言 window location href 是一个用于获取当前页面 URL 或让浏览器跳转到新 URL 的重要方法 是 window location 对象的属
  • 【gis系列】等高线创建dem,以及高程分析,坡度分析,坡向分析

    绝对原创 首先 我们要整理一份cad的文件格式 这里我不说那么多 就是在某某地图下载后 方法很多 可以通过qgis globalmapper来操作数据 以及一些普通的地图软件直接生成 这里呢 然后进入cad 把里面的高程标注信息给删除掉 图
  • 机器学习资源大全

    C 计算机视觉 CCV 基于C语言 提供缓存 核心的机器视觉库 新颖的机器视觉库 OpenCV 它提供C C Python Java 以及 MATLAB接口 并支持Windows Linux Android and Mac OS操作系统 通
  • SD卡初始化以及命令详解

    SD卡是嵌入式设备中很常用的一种存储设备 体积小 容量大 通讯简单 电路简单所以受到很多设备厂商的欢迎 主要用来记录设备运行过程中的各种信息 以及程序的各种配置信息 很是方便 有这样几点是需要知道的 SD 卡是基于 flash 的存储卡 S
  • Visual Studio 创建DLL 、LIB及调用

    一 前言 在工程中 经常会根据不同的场景需求将类封装成库文件 以供他人使用 那么如何利用VS进行库 动态库 的生成呢 以下简要演示实现过程 开发环境 VS2019 二 生成DLL动态库 1 创建控制台工程 添加类库函数 2 添加函数代码 d
  • vue打包及运行白屏,Android低版本适配

    版本支持 对于Android 4 X无法打开的问题 具体表现 1 运行后低版本谷歌浏览器打开后白屏 2 打包后低版本Android系统打不开 白屏 打包前npm run build后低版本浏览器打开白屏 如果低版本打开白屏那么打包后低版本A
  • CUDA系列三:矩阵相乘

    本博文主要讲解下基于cuda的矩阵相乘 cuda特别擅长的就是矩阵乘法 而且也比较容易实现 通过矩阵乘法的实现 可以比较容易理解cuda的核心思想 网上也有很多基于cuda实现的矩阵乘法 但是感觉都不完成 要不就是有错 本文给出的代码都是经
  • C#学习记录(47)MSSQL数据库

    引言 微软数据库是针对中小型企业的关系型数据库 操作简单易上手 首先介绍下C NET的数据库 以 ActiveX 数据对象 ADO 为基础 以 XML 扩展标记语言 为格式传送和接收数据 C NET应用程序 lt gt ADO NET lt
  • 特征值和特征向量的几何和物理意义

    原文 http blog 163 com renguangqian 126 blog static 1624014002011711114526759 FUCk 相见很晚 如果大学期间遇到这样的文章 线代必须90分以上 特征值和特征向量的几
  • vsCode中live server插件的安装及使用

    live server 插件是用来干嘛的 本地开发常常需要搭建临时的服务 作用 1 模拟服务器的方式打开页面 2 代码改动后 会自动刷新页面 安装 使用 1 使用要求 要求项目文件夹 Demo 要单独出现在vscode侧边栏 以下两种都可以
  • 软件设计风格(干货)-架构师之路(九)

    一 软件架构风格概念 Architecture架构 体系结构 软件体系结构风格是 描述某一特定应用领域中 系统组织方式 的惯用模式 架构风格定义一个系统家族 即 一个架构的定义 一个词汇表和一组约束 词汇表包含 一些构建和连接类型 而一组约
  • 你工作效率低,可能是因为不会Python

    前言 你是不是感觉你的工作非常无聊 每天有大量的重复性的工作要做 比如在我的工作中 就有很多类似的动作 每天早上要看我们DevOps流水线跑出的结果 查看各个微服务中的重复代码率是多少 有没有增加 CleanCode中的各项指标怎么样 代码