iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么实现Excel拆分并自动发邮件
  • 156
分享到

Python怎么实现Excel拆分并自动发邮件

2023-07-06 02:07:14 156人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python怎么实现excel拆分并自动发邮件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需求需要向大约 500 名用户发

本篇内容介绍了“python怎么实现excel拆分并自动发邮件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

需求

需要向大约 500 名用户发送带有 Excel 附件的电子邮件,同时必须按用户从主 Excel 文件中拆分数据以创建他们自己的特定文件,然后将该文件通过电子邮件发送给正确的用户

需求解析

Python怎么实现Excel拆分并自动发邮件

大致的流程就是上图,先拆分 Excel 数据,提取出对应的邮件地址和用户的数据信息,再自动添加到邮件的附件当中

代码实现

首先我们先来看下我们手中 Excel 的数据形式是怎么样的。

import datetimeimport osimport shutilfrom pathlib import Pathimport pandas as pdsrc_file = Path.cwd() / 'data' / 'Example4.xlsx'df = pd.read_excel(src_file)df.head()

Python怎么实现Excel拆分并自动发邮件

可以看出,CUSTOMER_ID 就是那个唯一的用户 ID,下面我们以该字段来分组,得到如下数据。

customer_group = df.groupby('CUSTOMER_ID')for ID, group_df in customer_group:print(ID)>>>Output>>>A1000A1001A1002A1005...

我们再来看下用户 A1005 所对应的数据形式。

Python怎么实现Excel拆分并自动发邮件

接下来我们就为每一个用户创建一个 Excel,后面就可以作为附件使用。

attachment_path = Path.cwd() / 'data' / 'attachments'today_string = datetime.datetime.today().strftime('%m%d%Y_%I%p')attachments = []for ID, group_df in customer_group:attachment = attachment_path / f'{ID}_{today_string}.xlsx'group_df.to_excel(attachment, index=False)attachments.append((ID, str(attachment)))

我们来看下变量 attachments 所包含的数据吧。

[('A1000','c:\Users\luobo\notebooks\2020-10\data\attachments\A1000_01162021_12PM.xlsx'),('A1001','c:\Users\luobo\notebooks\2020-10\data\attachments\A1001_01162021_12PM.xlsx'),('A1002','c:\Users\luobo\notebooks\2020-10\data\attachments\A1002_01162021_12PM.xlsx'),('A1005','c:\Users\luobo\notebooks\2020-10\data\attachments\A1005_01162021_12PM.xlsx')]

最后我们可以通过将 DataFrame 合并在一起来生成带有电子邮件地址的文件列表。

email_merge = pd.merge(df, df2, how='left')combined = email_merge[['CUSTOMER_ID', 'EMAIL', 'FILE']].drop_duplicates()

得到的 DataFrame 如下:

Python怎么实现Excel拆分并自动发邮件

我们已经收集了客户名单、他们的电子邮件和附件,现在我们就可以用 Outlook 发送一封电子邮件了。

import win32com.client as win32today_string2 = datetime.datetime.today().strftime('%b %d, %Y')class EmailsSender:def __init__(self):self.outlook = win32.Dispatch('outlook.application')def send_email(self, to_email_address, attachment_path):mail = self.outlook.CreateItem(0)mail.To = to_email_addreSSMail.Subject = today_string2 + ' Report'mail.Body = """Please find today's report attached."""mail.Attachments.Add(Source=attachment_path)# Use this to show the email#mail.Display(True)# Uncomment to send#mail.Send()

通过上面这个简单的类,我们可以生成电子邮件并附加 Excel 文件。

同时我们还注意到,这里使用了 win32,关于这个库的具体使用,我们在下次的文章中再具体说明吧。

email_sender = EmailsSender()for index, row in combined.iterrows():email_sender.send_email(row['EMAIL'], row['FILE'])

Python怎么实现Excel拆分并自动发邮件

最后,我们再把所有生成的 Excel 存档,以备后面审查、比对等。

arcHive_dir = Path.cwd() / 'archive'for f in attachments:shutil.move(f[1], archive_dir)

Python怎么实现Excel拆分并自动发邮件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python怎么实现Excel拆分并自动发邮件

本文链接: https://www.lsjlt.com/news/357393.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python怎么实现Excel拆分并自动发邮件
    本篇内容介绍了“Python怎么实现Excel拆分并自动发邮件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需求需要向大约 500 名用户发...
    99+
    2023-07-06
  • Python自动化办公之Excel拆分并自动发邮件
    需求需要向大约 500 名用户发送带有 Excel 附件的电子邮件,同时必须按用户从主 Excel 文件中拆分数据以创建他们自己的特定文件,然后将该文件通过电子邮件发送给正确的用户需求解析大致的流程就是上图,先拆分 Excel 数据,提取出...
    99+
    2023-05-14
    Python Excel 邮件
  • Python自动化办公之Excel拆分与自动发邮件
    目录需求需求解析代码实现需求 需要向大约 500 名用户发送带有 Excel 附件的电子邮件,同时必须按用户从主 Excel 文件中拆分数据以创建他们自己的特定文件,然后将该文件通过...
    99+
    2022-11-13
  • Python怎么实现自动化发送邮件
    这期内容当中小编将会给大家带来有关Python怎么实现自动化发送邮件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚...
    99+
    2023-06-26
  • 如何用Python​实现按姓名拆分Excel为单独文件并自动发给相应联系人
    本篇内容介绍了“如何用Python实现按姓名拆分Excel为单独文件并自动发给相应联系人”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望...
    99+
    2022-10-19
  • Python实现自动化发送邮件
    目录开门见山自动化发送邮件SMTP 介绍开启SMTP服务邮件的属性配置发送文本邮件发送HTML邮件发送附件邮件后记总结开门见山 自动化测试过程中,一般测试结果都会以邮件的形式发送给相...
    99+
    2022-11-12
  • python怎么实现自动化办公邮件合并功能
    本篇内容主要讲解“python怎么实现自动化办公邮件合并功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现自动化办公邮件合并功能”吧!经常使用word办公的小伙伴们经常会遇到...
    99+
    2023-06-20
  • 怎么用Python自动群发邮件
    这篇文章主要讲解了“怎么用Python自动群发邮件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python自动群发邮件”吧!如何把收件人名字一一对应前提条件,我的解释器是 IDLE ...
    99+
    2023-06-16
  • Python如何实现自动发送邮件
    目录自动发送邮件使用邮箱的第一步一份邮件的组成正式发送一份邮件批量发送邮件自动发送邮件 我们把报表做出来以后一般都是需要发给别人查看,对于一些每天需要发的报表或者是需要一次发送多份的...
    99+
    2022-11-12
  • Python怎么实现发送邮件到自己邮箱
    1、缘由在日常开发中,我们经常需要监控应用程序的状态,及时发现问题并采取措施解决。而通过邮件发送报警信息则是一种常见的实现方式。2、设置SMTP服务器登录到QQ邮箱后台然后点击账户找到“POP3/SMTP服务”和“IMAP/SMTP服务”项...
    99+
    2023-05-14
    Python
  • Shell中怎么实现自动发送邮件
    这期内容当中小编将会给大家带来有关Shell中怎么实现自动发送邮件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、编辑用户Home目录下的.muttrc文件,设置发信环境。代码如下:# cat /roo...
    99+
    2023-06-09
  • Python如何实现自动化邮件发送
    今天就跟大家聊聊有关Python如何实现自动化邮件发送,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,可以节省非常多的...
    99+
    2023-06-26
  • Python实战之自动发送邮件的实现
    目录1.开启SMTP服务2.准备3.编写脚本4.小例子自动发送邮件能应用于许多场景,比如我想要知道股票策略中的股票池是否有实时的更新,这时候如果再拉一遍数据,跑一遍脚本,实在是太浪费...
    99+
    2022-11-13
  • springboot怎么实现自动邮件发送任务
    这篇“springboot怎么实现自动邮件发送任务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot怎么实现...
    99+
    2023-06-29
  • python实现自动化办公邮件合并功能
    经常使用word办公的小伙伴们经常会遇到邮件合并的任务,通常会将数量有限的表格中的信息通过word的邮件合并功能,自动生成word文档,操作熟练的技术员通常不到十分钟就可以合并几十份邮件。那么如果遇到成千上万份的邮件...
    99+
    2022-06-02
    python邮件合并 python 自动化办公
  • 使用Python怎么操作Excel实现自动分组合并单元格
    这篇文章主要介绍了使用Python怎么操作Excel实现自动分组合并单元格,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!df.to_excel('test.xlsx',index=Fal...
    99+
    2023-06-06
  • Python一行代码实现自动发邮件功能
    1. 用Python每天给女神发送舔狗问候 用Python自动发送最基本的邮件(主题+收件人) 知识点 邮件结构 以263企业邮为例 ...
    99+
    2022-11-12
  • Python实现自动化邮件发送过程详解
    使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,可以节省非常多的时间。 操作前配置(以较为复杂的QQ邮箱举例,其他邮箱操作类似) 单击设置-账号,滑倒下方协议处,...
    99+
    2022-11-12
  • 基于Python实现报表自动化并发送到邮箱
    目录项目背景一、报表自动化目的二、报表自动化范围三、实现步骤第一步:读取数据源文件第二步:DataFrame计算第三步:自动发送邮件项目背景 作为数据分析师,我们需要经常制作统计分析...
    99+
    2022-11-11
  • Python中怎么实现电子邮件的自动化
    这期内容当中小编将会给大家带来有关Python中怎么实现电子邮件的自动化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。用Python下载文件对于第一步,我们将需要使用HTTP请求实际下载数据文件。在本例中...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作