我帮公司财务写了个“群发工资条”的 Python 脚本!

来源 | 数据分析与统计学之美

本文介绍

这是一个很好的Python自动化的案例。对于小公司,采用手动方式一个个发送邮件还是可以的。如果一个上百号,上千号,或者更大规模的公司,我们再一个个发送工资条邮件,就太浪费时间了。鉴于此,我写了一个这样的程序,实现Python自动化群发工资条的功能。

原始数据源如下:

最终效果如下:

看到这里,你肯定也觉得很好玩儿吧?那么这样一个自动化程序,应该怎么做呢?接着往下看。


流程分析

其实这样一个代码,总结下来,就只有如下5步:
① 导入相关模块;
② 读取Excel表格;
③ 登录邮箱;
④ 准备要发送的邮件正文;
⑤ 发送邮件;


1)导入相关模块

from openpyxl import load_workbook    # 用于操作Excel的模块import yagmail   # 用于存储邮箱地址和密码的模块import keyring   # 用于记录你邮箱地址和密码的模块from datetime import *   # 用于获取当前系统时间的模块

2)读取Excel表格

# 加载Excel文件wb = load_workbook("群发工资条.xlsx",data_only=True)sheet = wb.activeprint(sheet)-------------------------------------------------------for row in sheet:    row_text = ""    for cell in row:        if cell.column == "B":            continue        row_text += f"{cell.value},"    print(row_text)------------------------------------------------------print("年:", date.today().year)print("月:", date.today().month)print(f"{date.today().year}-{date.today().month}月")

结果如下:

3)登录邮箱

yagmail.register("1127421544@qq.com","flmyucvntuvbjbcb")pwd = keyring.get_password("yagmail","1127421544@qq.com")yag = yagmail.SMTP(user="1127421544@qq.com",host="smtp.qq.com",password=pwd)
需要注意的是:第一行代码是用于存储你的邮件地址和密码。第二行代码使用keyring是为了记录你的邮件地址和密码。第三行代码直接登录邮箱。

关于Python怎么发送邮件,我之前写了一篇文章,进行了详细的介绍,下方是这篇文章的链接,大家可以参考。

Python发邮件:http://suo.im/60ylZ1

4)准备要发送的正文

由于发送的正文里面,需要我们发送一个带表格的邮件,这就有必要我们了解一点前端知识。因此,我在最后面花一个章节为大家讲解。


5)发送邮件

yag.send(f"{email}",f"数据分析与统计学之美有限公司{date.today().year}-{date.today().month}月工资情况",contents)
上述代码共有3个参数:第一个参数是收件人的邮箱;第二个参数是邮件的标题;第三个参数是发送的内容。


关于html代码的特别说明

会用Python发送邮件的人都知道,邮件正文内容可以写html代码。你可能觉得自己啥也不会,但是不用担心,我们不需要学习太高深的前端代码,做过爬虫的人耳濡目染,都能够看懂一些。


1)自己写一个简单的前端代码

我们可以直接用Pycharm创建一个新的html文件,里面会显示初始的前端代码,我们进行简单的添加,就可以获得一个表格啦!

最终在浏览器中显示效果如下:

从上图中根本看不出这是一个表格,那是因为我们没有为它设置一个样式,下面要做的就是为表格设置样式。

最终在浏览器中显示效果如下:

2)在Python中怎么写前端代码

从上图可以看出,整个前端代码就是用一些列的标签组成,同时标签都是成对出现的。因此,在Python中写前端代码时,只需要在对应位置添加对应的标签即可。

for row in sheet:    row_text = "<tr>"    for cell in row:        if cell.column == "B":            continue        row_text += f"<td>{cell.value}</td>"    row_text += "</tr>"    print("\n")    print(row_text)

结果如下:


完整代码

为了文章的完整性,我在文章最后放上我的代码。但是限于文章篇幅,最后我只粘贴一张图片,详细代码,大家可以去文末获取。


更多精彩推荐
☞无代码火了,短板有哪些?
☞写不出满分作文怎么办,GPT-3 来帮你
☞互联网不相信学渣
☞收藏!美国博士明确给出Python的高效学习技巧
☞垃圾回收策略和算法,看这篇就够了
☞2020 以太坊技术及应用大会·中国圆满落幕,大咖们的演讲精华都在这里了!
点分享点点赞点在看

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人事部员工数量统计报表制作

现在有员工信息数据&#xff0c;要求从不同的维度统计各部门的员工数据量&#xff0c; Excel 中数据如下&#xff1a; 统计结果为&#xff1a; 制作报表过程 1、 打开润乾报表工具并新建空白报表 2、 增加数据集&#xff0c;类型为文本文件&#xff0c;选择 Excel 文件 …

Python自动化结算工资和统计报表

实例需求说明 你好&#xff0c;我是悦创。 博客首发&#xff1a;https://bornforthis.cn/column/pyauto/auto_base07.html 学习了 Excel 文件的写入、读取和追加内容&#xff0c;那现在来做个案例。 需求描述并整理&#xff0c;如下&#xff1a; 每个月的 2 号&#xff0c…

妙用EXECEL与JMAIL发送员工工资条

妙用EXECEL与JMAIL发送员工工资条 在实际的工作当中&#xff0c;有许多小规模的单位总是采用EXCEL来做员工工资&#xff0c;因为EXCEL中有许多公式可以用&#xff0c;只填入当月变动的项目&#xff0c;扣税、最终实发工资等项目就自动计算出来了。做出工资了有好多单位财务人员…

用Excel做了7天报表,这个领导喜欢的可视化工具,只用了7小时

以前我在某外企银行实习的时候&#xff0c;需要处理将近七年的财务报表&#xff0c;如果按照传统的方式&#xff0c;我估计七天七夜都处理不完&#xff0c;就更别提分析了。一般来说外企的电脑软件限制非常严格&#xff0c;有专门的IT把控。很多软件是下不了的&#xff0c;即使…

员工每月工资数据集可视化分析

前言 最近在学习《从零开始学Python数据分析》这本书&#xff0c;第六章的综合实例——巴尔的摩公务员工资数据集&#xff0c;原网站上数据集被清除&#xff0c;于是在Kaggle上寻找了相似的数据“Employee_monthly_salary.csv”进行可视化数据分析。 工作环境 系统&#xff…

android app图标长按展示快捷方式 Shortcuts 类似3d touch

android 长按图标展示快捷方式 文章目录 android 长按图标展示快捷方式1. 静态创建2. 动态创建 首先&#xff0c;这不是一个新功能了&#xff0c;在android 7.1的时候就已经支持创建快捷入口了。因为当时项目用不到也没关注过这块&#xff0c;现在很多应用都支持长按展示快捷入…

苹果手机的计算机怎么设置快捷键大全,苹果Macbook快捷键使用大全,超详细!...

苹果电脑Macbook快捷键如何使用&#xff1f;很多小伙伴经常询问小编有关于苹果电脑的相关问题&#xff0c;其实很多快捷键都可以提高生产力&#xff0c;那么接下来一起看看苹果Macbook快捷键使用大全&#xff01; 苹果电脑Macbook快捷键大全&#xff1a; 一、将键盘当作鼠标使用…

最全Mac系统快捷键一览

Mac中主要有四个修饰键&#xff0c;分别是Command&#xff0c;Control&#xff0c;Option和Shift。 这四个键分别有自己的图案&#xff0c;他们经常出现在Mac应用程序中的菜单栏里&#xff0c;方便你随时学习新的快捷键。 MAC 键盘快捷键符号图例 通用 Command是Mac里最重要的…

苹果Macbook快捷键使用大全

苹果电脑Macbook快捷键如何使用&#xff1f;很多小伙伴经常询问小编有关于苹果电脑的相关问题&#xff0c;其实很多快捷键都可以提高生产力&#xff0c;那么接下来一起看看苹果Macbook快捷键使用大全&#xff01; 苹果电脑Macbook快捷键大全&#xff1a; 一、将键盘当作鼠标使用…

消除macbook桌面快捷键图标上的箭头

修改/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ 路径下的AliasBadgeIcon.icns如下图&#xff1a; 修改AliasBadgeIcon.icns 名称为AliasBadgeIcon-no.icns 但是坑爹的右键没有重命名选项 于是想着在终端修改文件名 打开终端sudo -i切换到root模…

iOS APP添加桌面快捷方式

本文字数&#xff1a;13900字 预计阅读时间&#xff1a;35 分钟 iOS APP添加桌面快捷方式 背景 新接到一个需求&#xff0c;需要APP内的某些功能&#xff0c;能够把入口添加到桌面&#xff0c;点击桌面到入口可以直接跳转APP对应界面&#xff08;类似于下面这张示例图&#xff…

mac快捷键标志 ,图案,图标, 常用快捷键

Mac中主要有四个修饰键&#xff0c;分别是Command&#xff0c;Control&#xff0c;Option和Shift。这四个键分别有自己的图案 . Command-Z 撤销  Command-X 剪切   Command-C 拷贝&#xff08;Copy&#xff09;   Command-V 粘贴   Command-A 全选&#xff08;All&…

ShortcutManager桌面app图标长按快捷入口

1.动态方式实现 1.kotlin版代码 1.1 直接实现 对应代码&#xff1a; fun shortcut(){if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.N_MR1) {val scManager: ShortcutManager getSystemService(ShortcutManager::class.java)//跳转Secondval…

MAC OSX 快捷方式更换图标

1、MAC OSX快捷方式创建图标 右键快捷方式——显示简介 将你的icon图片文件&#xff08;大小为128x128像素&#xff09;拖入当前图标位置 2、修改你的icon图标文件 有时你会需要让你的桌面图标看起来更加统一&#xff0c;这时你就需要修改你的图标 打开PS&#xff0c;新建1…

正大国际期货:用狼性思维参与外盘期货

投资源于生活&#xff0c;而生活启示了投资交易的方法。因为我们知道在地球上&#xff0c;除了人类&#xff0c;狼应该是最聪明智慧的动物了&#xff0c;那么在狼的智慧中&#xff0c;有怎样的期货投资启示呢&#xff1f;下面正大IxxxuanI详细给大家讲解一下&#xff01; 1、当…

欧元区通胀率升至9.1% 将跟随美联储“鹰派”步伐?如何使资产保值成为现实需要

欧盟统计局数据显示&#xff0c;由于能源和食品价格持续飙升&#xff0c;欧元区8月调和CPI同比上升9.1%&#xff0c;距离两位数通胀近在咫尺。 伴随着通胀数据屡创新高&#xff0c;摩根大通、高盛和美国银行的分析师均预计&#xff0c;欧央行将在下周的会议上加息75个基点&…

外汇天眼:美联储认为美国房价有大跌的风险!

美联储周五表示&#xff0c;在超低利率的背景下&#xff0c;近年来房价大幅上涨后&#xff0c;高位房价可能会急剧下跌。 “由于估值处于高位&#xff0c;房价可能对冲击特别敏感&#xff0c;”美联储在周五发布的半年度金融稳定报告中表示。 央行表示&#xff0c;尽管最近随…

股票和外汇究竟哪个更存在风险呢?

股票和外汇究竟哪个更存在风险呢&#xff1f; 1、股票T1交易制度&#xff0c;今天买入&#xff0c;明天才能卖出&#xff1b;外汇T0交易制度&#xff0c;随时买入&#xff0c;随时可以卖出。流动性方面看&#xff0c;外汇风险较小。 2、外汇手续费很低&#xff0c;只有买入时扣…

外汇天眼:美元多头仍在掌控中 美联储将加大鹰派立场力度

美元多头不太可能在短期内被推翻&#xff0c;因为美联储(fed)可能会在其普遍预期的加息之后&#xff0c;在本周发表强硬言论&#xff0c;这可能迫使交易员重新考虑利率在见顶前能达到多高。 衡量美元兑一篮子六种主要货币贸易加权汇率的美元指数下跌0.1%&#xff0c;至109.44点…

外汇天眼:美国中期选举共和党若大获全胜!美元未来走势不利

周二&#xff0c;美元企稳&#xff0c;因为交易员们展望美国中期选举&#xff0c;而中国放松对冠状病毒的限制的兴奋情绪有所减弱&#xff0c;这一直在提振投资者人气&#xff0c;并令避险的美元承压。 中期选举的最终结果可能需要几天的时间&#xff0c;但预测显示&#xff0c…