600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python工资自动发放_python自动化办公--协助财务自动发送工资条

python工资自动发放_python自动化办公--协助财务自动发送工资条

时间:2020-05-11 19:05:19

相关推荐

python工资自动发放_python自动化办公--协助财务自动发送工资条

1、申请163账号,开通客户端stmp协议获得登录密码如:“VYCSWZBGIWMQVNGG”

2、代码如下:

#!/usr/bin/python#-*- coding: UTF-8 -*-

importsmtplibfrom email.mime.text importMIMETextfrom email.header importHeaderfrom xpinyin importPinyinimportdatetime as dtimportpandas as pdimportxlrdimportosdefloginmail(name,content):

p=Pinyin()#第三方 SMTP 服务

mail_host = "" #设置服务器

mail_user = "zhangMingMingmj@" #用户名

mail_pass = "VYCSWZBGIWMQVNGG" #口令

port = 465sender=mail_user #用户名

receivers =p.get_pinyin(name, '')+'@'body=content#设置邮件正文,这里是支持HTML的

msg = MIMEText(body, 'html')#设置正文为符合邮件格式的HTML内容

msg['subject'] = '{}年{}月份工资条'.format(dt.datetime.now().year, dt.datetime.now().month-1)#设置邮件标题

msg['from'] =sender#设置发送人

msg['to'] =receiverstry:#ssl

smtpObj =smtplib.SMTP_SSL(mail_host, port)

smtpObj.login(mail_user, mail_pass)

smtpObj.sendmail(sender, receivers, msg.as_string())print("邮件发送成功"+receivers)exceptsmtplib.SMTPException:print("Error: 发送失败"+receivers)defmain():print("准备发送")

excel_name= input("请输入需要执行的excel文件路径:")ifos.path.isfile(excel_name):

sheet=pd.read_excel(excel_name)for row insheet.iloc:

df=pd.DataFrame(row)

loginmail(row["姓名"],df.to_html())else:print("找不到此目录下的"+excel_name)

os.system('pause')if __name__ == '__main__':

main()

需要安装

1、pip installxpinyin 将名字装换成拼音,然后根据拼音获取固定格式的邮箱地址

2、pip installpandas 将excel数据读入到数据操作集中

3、pip installxlrd 读取excel

3、打包成exe

1、安装 pip install pyinstaller

2、执行 pyinstaller xxx.py 等待生成exe

3、双击exe,如果报错缺少库则将缺少的库的文件夹拷贝至exe同目录

4、可以在cmd 里面执行exe -d 获取失败信息

4、excel 文件格式

5、值得注意的是打包的虚拟环境的选择,电脑有多个python环境会在安装库的时候提示已经存在另外一个地方了,后期打包好后手动去相应的地方拷贝即可

6、正常环境下面打包出的exe会包含很多当前程序用不上的库所以会很大,我们可以在anaconda里面新建一个当前程序的虚拟环境,切换到当前虚拟环境 conda activate myvirenv然后在虚拟环境中安装需要的库再打包就只有几十兆了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。