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

news/2024/7/21 4:51:54 标签: python, 数据分析, 大数据, excel

使用pandas来实现excel表中数据统计提取,及邮件发送功能!

数据文件统计及发送

  • 使用pandas处理Excel的数据
  • yagmail实现邮件自动发送

使用pandas处理Excel的数据

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

那么接下来,我们要做的就是对excel表中的数据,某一个负责人负责的数据进行统计。
1.先来看一下excel表的内容:
数据统计表.xlsx
在这里插入图片描述
2.我们用代码实现,对 “张三”,"李四 "负责信息的统计

python"># -*- 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

python"># -*- 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.结果就是这个样子:
在这里插入图片描述


http://www.niftyadmin.cn/n/1757170.html

相关文章

【项目】解决The Tomcat connector configured to listen on port 8080 failed to start. The port m8080端口被占用的问题

问题描述: Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured. Action: Verify the connector’s configuration, identify and stop any process …

运行selenium脚本,出现Can not connect to the Service chromedriver解决方法汇总!

今天运行selenium脚本,出现Can not connect to the Service chromedriver 这个错误。 我大概百度一下,主要两种解决方法: 第一种、修改hosts里面的内容: 把 取消 127.0.0.1 localhost 注释 第二种,修改防火墙…

【MySQL】JDBC

文章目录8.权限管理和备份8.1 用户管理8.2 备份9.规范数据库设计9.1为什么要设计9.2 为什么要规范化JBDC(重点)10.1 数据库驱动10.2 JDBC10.3 JDBC程序10.4 statement对象10.5. PreparedStatement10.7 使用IDEA连接数据库10.8 事务10.9 数据库连接池8.权…

Python3,5句话实现自动接收短信提醒

平时由于工作原因,会错过一些邮件, 为了避免这种事情的发生,小鱼搞了一个自动接收短信的服务, 这样就不会在错误重要的邮件喽。 接下来我们就一起来看看吧 TWilio平台注册代码实现TWilio平台注册 我们要实现短信自动接收&#xf…

Python3,爬虫的HTTP Error、URL Error及混合使用

爬虫常出现的两种errorURL ErrorHTTP ErrorHTTP Error 和URL Error 混合使用URL Error url error 很常见的,就是url地址不正确,或者失效 我们来看看 代码是怎么实现的 # -*- coding: utf-8 -*- """auth : carl_DJtime : 2020-8-20 &quo…

Pyhotn3,爬取B站up主的信息!

今天搞一下,B站UP主前100名的数据信息~ 不要多想,不要多问,纯粹为了技术,不为数据~ 说我的都信了!! 接下来,老规矩,上代码,看看怎么实现爬取B站up主的信息: …

解决:javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAl

问题: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty 截图: 分析: 安全证书问题。可能是证书过期。可能是…

数据分析之Pandas从入门到放弃:代码+实战,9分钟带你推开Pandas大门!!!

今天整理了一下Pandas的使用方法; 应该是全网整理最完整,最简洁易读(立整)的一篇文章!! 嗯…别不信,确实是这样的~ ~ 跟着小鱼, 带你9分钟推开Pandas的大门!! 从此走上数据分析师的…