百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

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

off999 2024-10-21 06:52 23 浏览 0 评论

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

本文介绍

这是一个很好的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)

结果如下:

完整代码

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

相关推荐

win10怎么开机进入安全模式(win10开机怎么进安全模式怎么进)

进入Windows10安全模式有以下几种方法:方法一:使用开机高级选项1.在按下电源开机键后,持续按住F8键,直到你进入启动选项页面;2.从菜单中选择“安全模式”。方法二:使用系统配置1...

华硕电脑怎么重新安装系统(华硕电脑怎么重新安装系统教程)

第一步:备份重要数据重装系统前,务必先备份重要的个人数据。你可以将数据保存在外部存储设备上,或者使用云存储服务,确保数据安全可靠。第二步:下载系统镜像为了重装系统,你需要下载华硕笔记本电脑适用的操作系...

电脑显示此windows副本不是正版

1、第一步在电脑搜索框搜索命令提示符,鼠标右键以管理员的身份运行,2、第二步以管理员身份进去命令提示符之后输入"SLMGR-REARM",3、第三步按回车键可以看到命令已经成功重启一下...

电脑怎么复制粘贴按键(电脑复制粘贴按键是哪个)

电脑键盘上的粘贴键是:Ctrl+V按键。具体操作:1、以在excel表格中进行复制粘贴操作为例,首先选中需要复制粘贴操作的单元格。2、然后按下键盘上的“Ctrl+C”按键执行复制操作。3、然后将鼠标单...

笔记本黑屏但还在运行(笔记本电脑黑屏但运行)

具体修复方法:1、直接按下电脑机箱上的启动键让电脑重启,等待重新正常进入系统中。然后打开电脑系统盘,右键点击c盘进入属性设置面板中;2、在硬盘的属性设置中切换到工具标签;3、在查错选项中点击检查错误按...

从u盘启动怎么弄bios(u盘怎么在bios启动)

1、开启电脑,在电脑出现开机画面的时候连续按下“Esc”键进入BIOS设置;(部分电脑可能会是Delete、F2或F6)2、进入BIOSFEATURESSETUP中,将Boot(启动顺序)设定为U...

两台电脑怎么共享文件夹(如何把电脑c盘的存储移到d盘)

一、QQ共享简单易行既然使用QQ直接传递文件行不通,那么不妨试试使用QQ的文件共享功能。1.共享文件点击QQ面板的“菜单”→“工具”→“共享文件”命令。在打开的共享文件窗口中,单击“新建共享”按钮,...

qq手机版官方免费下载安装(qq手机安卓版免费下载)
  • qq手机版官方免费下载安装(qq手机安卓版免费下载)
  • qq手机版官方免费下载安装(qq手机安卓版免费下载)
  • qq手机版官方免费下载安装(qq手机安卓版免费下载)
  • qq手机版官方免费下载安装(qq手机安卓版免费下载)
怎么查看电脑产品密钥(怎么查看自己电脑产品密钥)

准备工具:电脑1.打开电脑,在电脑中找到我的电脑选项,双击该选项打开我的电脑进入我的电脑主页面。2.在我的电脑主页面中找到磁盘下方的空白位置,鼠标右键单击该位置调出功能选项框。3.在功能选项框中找到下...

不知道密码怎么连接wifi网络

不知道WiFi密码怎么连接,如果你不知道WiFi密码的话,那我没有办法连接网络,你必须去找WiFi密码是主人,然后询问密码,只有你得到了最准确的密码以后,你才可以开启你的WiFi网络设置,然后输入正确...

u盘写了保护怎么把保护删掉了

U盘写保护可以通过以下几种方法去除:1.取消U盘的写保护开关。有些U盘上面自带写保护的开关,如果被拨到写保护状态时,就会对U盘进行写保护,这种情况解决的办法最简单,直接将开关拨回原位即可。2.修复...

深度ghost精简xp(深度ghost文件)

windowsxp下运行ghost方法如下:1、首先把GHOST.EXE程序复制到你的硬盘某区上(不要是C区,假如是E区)。2、然后重新启动电脑,重启过程中按DEL键进入BIOS设置,设置为从光驱启...

固态硬盘如何安装(固态硬盘如何安装系统)

1、首先要在在机箱内找到固态硬盘安装的电源连接线,是从电脑的电源引出的一根线。形状是扁嘴形上面一般印着一个白色的“P4”2、然后要在主板上找固态硬盘的数据接口,用于数据输入输出,俗称SATA接口,再找...

windows怎么打开注册表(windows怎么打开注册表管理器)

方法一、直接打开注册表1、点击屏幕左下角的“开始”按钮,再点击“运行”;2、或者直接按Win键+R键,打开“运行”对话框;3、在“运行”输入框中输入“regedit”命令;4、这样就能够打开注册表编辑...

windows7安装windows10(windows7安装光盘下载)

在安装Win7时,出现提示“Windows无法安装到这个磁盘。这台计算机的硬件可能不支持启动到此磁盘。请确保在计算机的bios菜单中启用了磁盘的控制器。” 解决方法: 1.如果之前你做过BIOS设置,...

取消回复欢迎 发表评论: