Python自动拆分Excel,自动发邮箱,几秒钟完成3600分钟工作

我是智能取经人 2024-07-17 14:58:39

摘要: 每月的年假统计和分发工作,对于公司的人事部门来说,无疑是一项繁琐且容易出错的任务。在这个技术驱动的时代,Python自动化不仅能够提升工作效率,还能在不经意间赢得美女的芳心。本文将介绍如何利用Python自动化技术,从Excel汇总表中分割出各部门的年假数据,并自动发送到相应部门的邮箱,让这项工作变得轻松而准确,帮助国企的人事小姐姐解决月底繁重的年假数据整理和分发工作,让她从此告别繁琐的手工操作。

人事小姐姐的每月烦恼

国企的系统虽然稳定,但功能老旧,缺乏高效的数据处理能力。每月月底,人事小姐姐都要从系统中导出年假明细表,然后手动按照部门筛选、整理,再发送给各部门负责人。公众号的一位粉丝小姐姐,作为人事部门的一员,就遇到了这样的烦恼,这个过程耗时耗力,每次要花费几天时间完成这个重复性工作,让她倍感压力。

Python自动化办公

问题背景

人事小姐姐面临的问题是典型的数据整理和分发问题。通过Python自动化技术,我们可以将这一过程自动化,大大提高工作效率。

实现步骤

读取Excel汇总表并提取部门名称:

import pandas as pddf = pd.read_excel("年假明细表.xlsx")depts = df["部门"].unique()

按部门分割数据并保存为多个Excel文件:

for dept in depts: department_df = df[df["部门"] == dept] filename = f"{dept}_年假情况.xlsx" department_df.to_excel(filename, index=False)

自动发送邮件程序:

def send_email_with_attachment( sender_email, recipient_email, subject, body, attachment_path, userName_AuthCode, attach_name): # 邮箱服务端 message = MIMEMultipart() # email = MIMEText(content, 'plain', 'utf-8') message['Subject'] = subject # 定义邮件主题 message['From'] = "AI通知机器人" # 发件人 message['To'] = ",".join(recipient_email) # 收件人(可以添加多个,若只有一个收件人,可直接写邮箱号) body = body # 邮件正文 message.attach(MIMEText(body, 'plain')) # 发送邮件 attachment = open(attachment_path, "rb") part = MIMEBase("application", "octet-stream") # 设置附件信息 part.set_payload((attachment).read()) encoders.encode_base64(part) part.add_header("Content-Disposition", "attachment; filename=attach_name") message.attach(part) # 添加附件到邮件 # message.attach(part) # QQ邮箱的端口号是465,其他邮箱的端口号可自行百度,非QQ邮箱,一般使用SMTP即可,不需要有SSL smtp = smtplib.SMTP_SSL(mailserver, port=465) smtp.login(sender_email, userName_AuthCode) smtp.sendmail(sender_email, ','.join( recipient_email), message.as_string()) smtp.quit() # logging.info('恭喜,邮件发送成功了')

调用程序发送邮件

if __name__ == "__main__": # split_Excel("年假情况.xlsx", "年假_按部门汇总") mailserver = 'smtp.163.com' # 发件人-填写自己的邮箱 sender_email = 'zdy15921159716@163.com' # 邮箱发件授权码-为发件人生成的授权码,具体步骤见文章中截图 userName_AuthCode = 'OCRSEVQEMWCIXKNY' # 定义邮件的接收者-我随便写的,若收件人较多,可用列表表示 # recipient_email = ['young@realstarie.com'] subject = '你们部门的年假情况' body = '附件是你们部门的年年假情况,请查阅' department_emails = { "采购部": ['young@realstarie.com', "865193996@qq.com"], # 可以添加多个收件人 "船务部": ['young@realstarie.com'], # ...其他部门 } df = pd.read_excel("年假情况.xlsx") depts = ["采购部", "船务部"] for dept in depts: attachment_path = f'年假_按部门汇总\年假情况_{dept}.xlsx' # 附件路径 recipient_email = department_emails.get(dept) print(recipient_email) attach_name = f"年假情况_{dept}" send_email_with_attachment( sender_email, recipient_email, subject, body, attachment_path, userName_AuthCode, attach_name)

获取163邮箱程序授权码的方法:

核心优势自动化处理:一键自动生成部门年假表格和发送邮件。节省时间:从几天的工作缩短到几分钟。减少错误:避免人工操作中可能出现的错误。结果展示

通过Python脚本,人事小姐姐的工作效率得到了极大的提升。现在,她只需导出数据,运行Python程序,就能自动完成所有部门的年假数据整理和邮件发送工作。

附件没有拓展名,用Excel打开既可

结语:技术成就魅力

Python自动化技术不仅帮助人事小姐姐解决了实际工作难题,更让她对技术的魅力有了新的认识。通过技术提升工作效率的同时,也让她对技术背后的人产生了好感。

你在职场中是否也遇到过类似的数据处理问题?在评论区留言,分享你的故事,让我们一起探讨如何用技术简化工作,提升效率!

数海丹心

大数据和人工智能知识分享与应用

121篇原创内容

公众号

关注公众号后台私信“年假”即可获得完整代码和实例数据

0 阅读:0

我是智能取经人

简介:感谢大家的关注