Python自动化!10行代码轻松搞定原本要花费整整3天的繁琐任务!

科技   2024-08-31 19:22   浙江  

星标下公众号

获取更多优质教程


按上图操作星标后,凭截图,可以领取本文测试数据和源码,及老表1v1问答服务
星标公众号后,
微信里私聊回复:自动化


肝了4晚,老表AI v1.0 开放,完全免费

脑补一下这个场景

你坐在办公室里,面对的是一张写满了名字、工资、奖金的Excel表格。成百上千个名字映入眼帘,每一个都需要你单独处理、保存成一个文件,并且还要一个个地发邮件。你手指在键盘上飞舞,试图追赶那些即将到来的截止日期,但不管你多努力,文件数量还是让你头皮发麻。

你在一个员工的名字上停下,生成工资条、保存、打开邮箱、写邮件、添加附件、发送……然后,重复这个过程499次。

你感觉像是在经历一次又一次的复制粘贴的噩梦。手腕渐渐酸痛,眼睛也开始模糊。你甚至开始怀疑这是不是某种办公室里的酷刑。3天,72小时,这项任务无情地吞噬着你的时间和精力。

这种场景是不是让你感到无比绝望?现在想象一下,只需14行代码,你就能瞬间摆脱这个让人崩溃的循环,轻松搞定原本要花费整整3天的繁琐任务。来看看我是怎么实现的吧!

实际案例(已虚化了所有名称和数据)

在某大型企业中,小李(化名)每个月初都得处理500名员工的工资条。每个月他都要先从企业ERP把所有员工工资表导出,然后核对,再拆分成独立的工资条文件,并逐一发送给员工。这项任务的难度堪比攀登一座高山,当时开发者为了方便HR核对工资条,工资条就是一整张表,小李需要核对后手动操作每一行数据。手动完成整个任务需要近1500分钟,相当于整整3天的工作量。

眼看任务压顶,小李几乎崩溃。他甚至一度想着申请预算来开发一个系统自动化处理这项工作,但公司没有预算支持。正当他陷入绝望时,他在公众号搜索自动化,看到了我写的Python自动化!8行代码1.7秒搞定原来 1420 分钟的重复工作!

Python自动化来救场

在前面案例中,我们只需要1.7s就将366个excel表格进行了修改并合并,对于这个案例由于要进行邮件发送,可能花费更长时间,但也仅需不到10行核心代码,即可让这项任务在几十秒钟内完成,不再需要小李拼命点击鼠标,忍受乏味的重复劳动。

Python脚本不仅可以自动拆分工资表,还能快速地生成并发送每一个员工的工资条。操作简单、效率极高,让小李瞬间从繁重的任务中解放出来。

代码实现:

import pandas as pd
import yagmail
import os
import time

# 设置发送者的邮箱信息
sender_email = 'xxx@163.com'
sender_password = 'zzzzzzzz'
sender_host = 'smtp.163.com'

t1 = time.time()

# 读取工资表格
df = pd.read_excel('简说Python员工工资表.xlsx')

# 初始化yagmail SMTP客户端
yag = yagmail.SMTP(user=sender_email, password=sender_password, host=sender_host)

# 逐行处理员工数据
for _, row in df.iterrows():
    employee_name, employee_email = row['姓名'], row['邮箱']
    salary_data = row.to_frame().T  # 将当前行转为单行数据框

    # 保存独立工资条
    filename = f"./8月薪资/{employee_name}_工资条.xlsx"
    salary_data.to_excel(filename, index=False)
    # 发送邮件并附上工资条
    yag.send(
        to=employee_email,
        subject="您的8月工资条,注意查收",
        contents=f"尊敬的{employee_name},请查收附件中的工资条,如有疑问,请在9.6前联系小李反馈问题,9.7日将准时发放工资。",
        attachments=filename
    )

    print(f"工资条已发送给: {employee_name}")

    # 删除生成的文件
    os.remove(filename)

print(f"所有工资条已发送完毕。\n耗时:{round(time.time()-t1, 1)}秒")

成效显著

当小李运行完这段代码后,他简直不敢相信自己的眼睛:几秒钟前还铺天盖地压过来的工作,现在已被自动化流程轻松解决。500封邮件准确无误地发了出去,仅仅花费了22s,他再也不用为了赶工期而牺牲个人时间。

结语

这次经历让小李深刻认识到,掌握编程和自动化技能在现代办公环境中是多么重要。Python作为一种强大且易学的编程语言,能够帮助你轻松应对那些重复性高、繁琐的任务。如果你也想像小李一样,从繁重的工作中解脱出来,Python自动化或许就是你的最佳选择。

想学习更多?可以看看我之前分享的Python入门自动化教程,有任何问题也欢迎随时交流。

时间花在哪里,成功就在哪里!

python从入门到实践

Python 编程能力评测试题,看看谁是真正的Python高手!

Python Pandas 全面指南:用法介绍及10个应用场景实践

Python 10个自动化办公脚本

另外我还有很多其他Python案例,我最近会陆续整理好,没有100也有50+ Python案例,大家可以加文末我的微信备注下:50+案例,我整理好后会第一时间免费分享给你(收取0.99元,避开白嫖不学习党)。

扫码加我微信,回复:50+案例
一起迎接AI时代

简说Python
号主老表,自学,分享Python,SQL零基础入门、数据分析、数据挖掘、机器学习优质文章以及学习经验。
 最新文章