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

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

使用pandas处理Excel的数据


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


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

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

数据统计表.xlsx

image.png

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生成的文件夹


image.png

3.2生成的文件数据

image.png


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.结果就是这个样子:

image.png

目录
相关文章
|
8天前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
102 71
|
5天前
|
分布式计算 数据可视化 数据挖掘
Pandas数据应用:社交媒体分析
本文介绍如何使用Pandas进行社交媒体数据分析,涵盖数据获取、预处理、探索性分析和建模的完整流程。通过API获取数据并转换为DataFrame格式,处理缺失值和数据类型转换问题。利用Matplotlib等库进行可视化,展示不同类型帖子的数量分布。针对大规模数据集提供内存优化方案,并结合TextBlob进行情感分析。最后总结常见问题及解决方案,帮助读者掌握Pandas在社交媒体数据分析中的应用。
134 96
|
11天前
|
编解码 数据挖掘 开发者
Pandas数据导出:CSV文件
Pandas是Python中强大的数据分析库,提供了灵活的数据结构如DataFrame和Series。通过`to_csv()`函数可轻松将数据保存为CSV文件。本文介绍了基本用法、常见问题(如编码、索引、分隔符等)及解决方案,并涵盖大文件处理和报错解决方法,帮助用户高效导出数据。
126 83
|
7天前
|
存储 数据采集 数据可视化
Pandas数据应用:电子商务数据分析
本文介绍如何使用 Pandas 进行电子商务数据分析,涵盖数据加载、清洗、预处理、分析与可视化。通过 `read_csv` 等函数加载数据,利用 `info()` 和 `describe()` 探索数据结构和统计信息。针对常见问题如缺失值、重复记录、异常值等,提供解决方案,如 `dropna()`、`drop_duplicates()` 和正则表达式处理。结合 Matplotlib 等库实现数据可视化,探讨内存不足和性能瓶颈的应对方法,并总结常见报错及解决策略,帮助提升电商企业的数据分析能力。
103 73
|
4天前
|
存储 数据采集 数据可视化
Pandas数据应用:医疗数据分析
Pandas是Python中强大的数据操作和分析库,广泛应用于医疗数据分析。本文介绍了使用Pandas进行医疗数据分析的常见问题及解决方案,涵盖数据导入、预处理、清洗、转换、可视化等方面。通过解决文件路径错误、编码不匹配、缺失值处理、异常值识别、分类变量编码等问题,结合Matplotlib等工具实现数据可视化,并提供了解决常见报错的方法。掌握这些技巧可以提高医疗数据分析的效率和准确性。
42 22
|
13天前
|
数据挖掘 数据处理 索引
Pandas数据重命名:列名与索引为标题
Pandas 是强大的数据分析工具,支持灵活的数据结构和操作。本文介绍如何使用 Pandas 对 `DataFrame` 的列名和索引进行重命名,包括直接赋值法、`rename()` 方法及索引修改。通过代码示例展示了具体操作,并讨论了常见问题如名称冲突、数据类型不匹配及 `inplace` 参数的使用。掌握这些技巧可使数据更清晰易懂,便于后续分析。
57 29
|
3天前
|
数据采集 数据挖掘 数据处理
Pandas数据应用:金融数据分析
本文介绍如何使用Pandas进行金融数据分析,涵盖数据导入、清洗、转换等基础操作。通过处理缺失值、重复值及数据类型不匹配等问题,结合时间序列分析和大规模数据处理技巧,帮助读者掌握常见问题的解决方案。案例分析展示了计算每日收益率并绘制图表的具体步骤。
30 14
|
1天前
|
存储 数据采集 数据挖掘
Pandas数据应用:用户行为分析
本文介绍了如何使用Pandas进行用户行为分析,涵盖从基础概念到实际应用的多个方面。首先简要介绍了Pandas的安装与基本功能,接着详细讲解了数据加载、初步探索及常见问题(如数据缺失、重复记录和时间戳格式不统一)的处理方法。随后探讨了用户活跃度和路径分析等模式挖掘技巧,并总结了常见报错及避免措施。通过掌握这些内容,读者可以更高效地进行用户行为分析,提升产品设计和用户体验。
32 8
|
8天前
|
数据采集 数据可视化 索引
Pandas数据应用:股票数据分析
本文介绍了如何使用Pandas库进行股票数据分析。首先,通过pip安装并导入Pandas库。接着,从本地CSV文件读取股票数据,并解决常见的解析错误。然后,利用head()、info()等函数查看数据基本信息,进行数据清洗,处理缺失值和重复数据。再者,结合Matplotlib和Seaborn进行数据可视化,绘制收盘价折线图。最后,进行时间序列分析,设置日期索引、重采样和计算移动平均线。通过这些步骤,帮助读者掌握Pandas在股票数据分析中的应用。
40 5
|
14天前
|
SQL 数据采集 数据挖掘
Pandas数据合并:concat与merge
Pandas是Python中强大的数据分析库,提供灵活高效的数据结构和工具。本文详细介绍了Pandas中的两种主要合并方法——`concat`和`merge`。`concat`用于沿特定轴连接多个Pandas对象,适用于简单拼接场景;`merge`则类似于SQL的JOIN操作,根据键合并DataFrame,支持多种复杂关联。文章还探讨了常见问题及解决方案,如索引对齐、列名冲突和数据类型不一致等,帮助读者全面掌握这两种方法,提高数据分析效率。
38 8