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


最终效果如下:


看到这里,你肯定也觉得很好玩儿吧?那么这样一个自动化程序,应该怎么做呢?接着往下看。2.流程分析
其实这样一个代码,总结下来,就只有如下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.active print(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="http://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个参数:第一个参数是收件人的邮箱;第二个参数是邮件的标题;第三个参数是发送的内容。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)

结果如下:

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

python 解除excel的密码_我帮公司财务写了个“群发工资条”的Python脚本!相关推荐

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

    作者 | 黄伟呢 来源 | 数据分析与统计学之美 介绍 这是一个很好的Python自动化的案例.对于小公司,采用手动方式一个个发送邮件还是可以的.如果一个上百号,上千号,或者更大规模的公司,我们再一个 ...

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

    1.本文介绍 这是一个很好的Python自动化的案例.对于小公司,采用手动方式一个个发送邮件还是可以的.如果一个上百号,上千号,或者更大规模的公司,我们再一个个发送工资条邮件,就太浪费时间了.鉴于此, ...

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

    来源 | 数据分析与统计学之美 本文介绍 这是一个很好的Python自动化的案例.对于小公司,采用手动方式一个个发送邮件还是可以的.如果一个上百号,上千号,或者更大规模的公司,我们再一个个发送工资条邮 ...

  4. python发微信工资条_帮公司财务妹子写了个“群发工资条”的Python脚本!

    hi,大家好,我是朱小五 两周前我发了一篇办公自动化的文章,本来决定最近这个月就不发同类型的了. 结果正如你们所见: 因为这真的是一个很好的Python自动化的案例!!! 所以即使打脸也要推荐给大家! ...

  5. python对财务人员的帮助-帮公司财务妹子写了个“群发工资条”的Python脚本!

    hi,大家好,我是朱小五 两周前我发了一篇办公自动化的文章,本来决定最近这个月就不发同类型的了. 结果正如你们所见: 因为这真的是一个很好的Python自动化的案例!!! 所以即使打脸也要推荐给大家! ...

  6. python登录网页账号密码_遇到需要登录的网站怎么办?学好python,用这3招轻松搞定...

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作..... 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 把这几招传授给你 让你以后从容应对 登录的常见方法无非是这两种 1. ...

  7. python处理excel表格入门_零基础使用Python读写处理Excel表格

    引 由于需要解决大批量Excel处理的事情,与其手工操作还不如写个简单的代码来处理,大致选了一下感觉还是Python最容易操作. 安装库 Python环境 首先当然是配环境,不过选Python的一个重 ...

  8. python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...

    最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...

  9. python合并excel文件关键字_使用 Python 合并多个格式一致的 Excel 文件,Excel 表格...

    一 问题描述 最近朋友在工作中遇到这样一个问题,她每天都要处理如下一批 Excel 表格:每个表格的都只有一个 sheet,表格的前两行为表格标题及表头,表格的最后一行是相关人员签字.最终目标是将每个 ...

最新文章

  1. python3安装pip3-Python3中安装pip3
  2. Spring boot错误处理原理
  3. wxWidgets:wxGraphicsContext类用法
  4. PHP项目中,记录错误日志
  5. lua菜鸟教程_Lua语言学习
  6. bzoj3589 动态树 求链并 容斥
  7. java工作台无法显示_【Eclipse】使用指南(18)搜索工作台
  8. Cookie、token、session的区别是什么?
  9. Spring和依赖注入的价值
  10. 自动滑动的banner图
  11. js使用xlsx读取excel文件
  12. 解析《富爸爸财务自由之路》
  13. 小红书前端开发面试经验分享
  14. QS排名前70-100的英国大学怎么选?
  15. No3 jQuery
  16. Engine中如何实现ArcMap中的Split Polygons
  17. pytorch保存onnx模型
  18. 3分钟教你图解Bitmap编码传输
  19. 冷笑话,收集很多的冷笑话
  20. 【Android】Android的应用架构

热门文章

  1. html清除视频缓存,html清除页面缓存
  2. 对spinner小结
  3. 基于JAVA+SpringMVC+Mybatis+MYSQL的电影院订票系统
  4. 素数和 c语言慕课,第五周 素数和问题
  5. 深入理解C++11pdf
  6. JAVA-5NIO之Selector
  7. jQuery-处理元素内容、表单元素
  8. centos7 卸载软件
  9. 蓝桥杯试题:矩阵翻硬币
  10. hdu 5584 gcd/lcm/数学公式