读取工资条
HR核算每个人的工资
import pandas as pd
df = pd.read_excel('工资条.xlsx')
print(df.to_markdown())
| | 员工id | 姓名 | 年龄 | 岗位 | 底薪 | 奖金 | 交通补助 | 餐补 | 邮箱 |
|---:|---------:|:-------|-------:|:-------|-------:|-------:|-----------:|-------:|:------------------|
| 0 | 1 | 张三 | 25 | 销售 | 3000 | 10000 | 1000 | 1000 | thunderhit@qq.com |
| 1 | 2 | 李四 | 30 | 后勤 | 3200 | 500 | 200 | 500 | 372335839@qq.com |
| 2 | 3 | 王五 | 21 | 前台 | 4000 | 1000 | 500 | 200 | 372335839@qq.com |
| 3 | 4 | 赵六 | 34 | 财务 | 5000 | 1000 | 500 | 500 | thunderhit@qq.com |
计算每个人的工资
df['工资总计'] = df.eval("底薪+奖金+交通补助+餐补")
print(df.to_markdown())
| | 员工id | 姓名 | 年龄 | 岗位 | 底薪 | 奖金 | 交通补助 | 餐补 | 邮箱 | 工资总计 |
|---:|---------:|:-------|-------:|:-------|-------:|-------:|-----------:|-------:|:------------------|-----------:|
| 0 | 1 | 张三 | 25 | 销售 | 3000 | 10000 | 1000 | 1000 | thunderhit@qq.com | 15000 |
| 1 | 2 | 李四 | 30 | 后勤 | 3200 | 500 | 200 | 500 | 372335839@qq.com | 4400 |
| 2 | 3 | 王五 | 21 | 前台 | 4000 | 1000 | 500 | 200 | 372335839@qq.com | 5700 |
| 3 | 4 | 赵六 | 34 | 财务 | 5000 | 1000 | 500 | 500 | thunderhit@qq.com | 7000 |
通知信模板
template = """{name}先生(女士),您好!\n\n\
这是{date}的工资条信息:\n\n\
{gangwei}底薪¥{base}\n\
交通补助¥{transport}\n\
餐补¥{food}\n\n\
由于您当月出色的表现,
公司决定奖励你¥{bonus}\n\
当月工资总计{salary}\n
希望{familyname}兄弟(姐妹)继续为了公司加油~\n\n
from {company}公司
"""
info = template.format(name='张三',
date='2019年12月',
gangwei='销售',
base=3000,
transport=1000,
food=1000,
bonus=10000,
salary=15000,
familyname='张',
company='杭州XX')
print(info)
运行结果
张三先生(女士),您好!
这是2019年12月的工资条信息:
销售底薪¥3000
交通补助¥1000
餐补¥1000
由于您当月出色的表现,
公司决定奖励你¥10000
当月工资总计15000
希望张兄弟(姐妹)继续为了公司加油~
from 杭州XX公司
全体职员通知信
for idx, employee in df.iterrows():
info = template.format(name=employee['姓名'],
gangwei=employee['岗位'],
base=employee['底薪'],
transport=employee['交通补助'],
food=employee['餐补'],
bonus=employee['奖金'],
salary=employee['工资总计'],
familyname=employee['姓名'][0],
company='杭州XX',
date='2019年12月')
print(info)
print('===============================================================')
运行结果
张三先生(女士),您好!
这是2019年12月的工资条信息:
销售底薪¥3000
交通补助¥1000
餐补¥1000
由于您当月出色的表现,
公司决定奖励你¥10000
当月工资总计15000
希望张兄弟(姐妹)继续为了公司加油~
from 杭州XX公司
。。。。。省略。。。。。
赵六先生(女士),您好!
这是2019年12月的工资条信息:
财务底薪¥5000
交通补助¥500
餐补¥500
由于您当月出色的表现,
公司决定奖励你¥1000
当月工资总计7000
希望赵兄弟(姐妹)继续为了公司加油~
from 杭州XX公司
===============================================================
群发邮件
群发邮件前需要先安装好zmail,学一下zmail使用方法
!pip3 install zmail
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: zmail in /usr/local/lib/python3.7/site-packages (0.2.7)
import zmail
import pandas as pd
# 邮件的pop设置后的密码
server =zmail.server('你的qq邮箱','POP设置后的密码')
#计算工资
df = pd.read_excel('工资条.xlsx')
df['工资总计'] = df.eval("底薪+奖金+交通补助+餐补")
#群发邮件
for idx, employee in df.iterrows():
#工资条内容
info = template.format(name=employee['姓名'],
gangwei=employee['岗位'],
base=employee['底薪'],
transport=employee['交通补助'],
food=employee['餐补'],
bonus=employee['奖金'],
salary=employee['工资总计'],
familyname=employee['姓名'][0],
company='杭州XX',
date='2019年12月')
#邮件内容
mailcontent ={'subject':'{} 工资条到了, 注意查收!'.format(employee['姓名']),
'content_text': info,
'attachments': 'img/感谢有你.png' }
server.send_mail(employee['邮箱'], mailcontent)
print('{} 的工资条发送成功!'.format(employee['姓名']))
print('\n'*5)
print('ヽ( ̄▽ ̄)و全部通知完成,下班,回家,过元旦~')
运行结果
张三 的工资条发送成功!
李四 的工资条发送成功!
王五 的工资条发送成功!
赵六 的工资条发送成功!
ヽ( ̄▽ ̄)و全部通知完成,下班,回家,过元旦~
运行效果
参考这篇文章 使用zmail群发邮件 设置POP
本文分享自 程序员郭震zhenguo 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!