您当前的位置:首页 > 计算机 > 编程开发 > Python

Python3,pandas自动处理exlce数据及yagmail邮件自动发送

时间:03-18来源:作者:点击数:

使用pandas处理Excel的数据

pandas怎么读取excel,我们已经分享了,不太熟悉的,可以参照小鱼的这篇文章pandas 5行代码实现对Excel的读取!

那么接下来,我们要做的就是对excel表中的数据,某一个负责人负责的数据进行统计。

1.先来看一下excel表的内容:

数据统计表.xlsx

在这里插入图片描述

2.我们用代码实现,对 “张三”,"李四 "负责信息的统计

# -*- coding:utf-8 -*-
"""
@ auth : carl_DJ
@ time : 2020-8-19
"""
import pandas as pd
import  os
from send_email import send_email   #导入send_email

#定义数据文件的地址 ,这里写两种
#一种:手动输入文件地址
excel_path = input(f'请输入文件地址:')
#另一种:直接读取文件地址
#excel_path = '../data/数据统计表.xlsx'

#读入
data = pd.read_excel(excel_path)
#定义一个names列表,可以统计多个负责人
names = {
	'陈文','需要发送的邮箱地址',
	'王杰','需要发送的邮箱地址'
	}
#文件夹名字
dirname = 'exceldir'
#如果没有文件夹,则自动创建
if not os.path.exists(dirname):
	os.makedirs(dirname)

#循环读取excel表中的数据
for name,email in names.items():
	#获取负责人的信息
	df = data.loc[data['负责人']==name]
	#保存路径及文件名
	filepath = os.path.join(dirname,f'{name}.xlsx')
	#写入数据
	writer = pd.ExcelWriter(filepath)
	#sheet1 是数据写到excel表的sheet1页
	df.to_excel(writer,'sheet1')
	#保存数据
	writer.save()
	if email:
		send_email(name,email,filepath)
	

3.运行的结果:

>> 3.1生成的文件夹

在这里插入图片描述

3.2生成的文件数据

在这里插入图片描述

yagmail实现邮件自动发送

使用yagmail实现邮件的发送

同样,在使用之前,需要安装yagmail模块

1.cmd窗口使用pip安装

pip install yagmail

安装完成,就可以使用了!

我们来编写send_emial 的代码

2.send_email.py

# -*- coding:utf-8 -*-

"""
@ auth : carl_DJ
@ time : 2020-8-19
"""

import yagmail

#定义send_email方法
def send_email(name,send_to,filepath):
	#定义邮件发送的文本内容,以及附件
	contents = [
	f'{name},你好,数据统计信息已经整理完成,已发送,请查收!',
	filepath
	]
	#定义SMTP邮件的基本信息
	yag = yagmail.SMTP(
		user = 'carl_DJ@xxx.com',
		password = 'password',
		host = 'smtp.host'
	)
	yag.send(to = send_to,subject = '数据统计汇报',contents = contents)

3.结果就是这个样子:

在这里插入图片描述
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门