python版本3.9.4
1、生成csv的方法

#make_csv.py#
import csv def produce_csv():
# 1. 创建文件对象
f = open('temp.csv', 'w', encoding='utf-8', newline='') # 2. 基于文件对象构建 csv写入对象
csv_writer = csv.writer(f)
# 3. 构建列表头
csv_writer.writerow(["姓名", "年龄", "性别"]) # 4. 写入csv文件内容
csv_writer.writerow(["l", '18', '男'])
csv_writer.writerow(["c", '20', '男'])
csv_writer.writerow(["w", '22', '女'])
f.close()
2、调用上面方法生成csv并发送邮件

#sed_mail.py#
#!/usr/bin/python3
from email.mime.multipart import MIMEMultipart
import os
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import make_csv #删除文件
try:
os.remove('temp.csv')
except :
print("没有找到文件!") #调用make_csv文件的produce_csv方法生成文件
make_csv.produce_csv() # 第三方 SMTP 服务
mail_host="smtp.exmail.qq.com" #设置服务器
mail_user="user_sed@qq.com" #用户名
mail_pass="passwd" #口令 sender = 'user_sed@qq.com'
receivers = ['user_recevied@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 print("1")
message = MIMEMultipart()
message.attach(MIMEText('这是菜鸟教程Python 邮件发送测试……', 'plain', 'utf-8'))
message['From'] = Header("菜鸟教程", 'utf-8')
message['To'] = Header("测试", 'utf-8')
print("2")
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
print("3") # 构造附件1,传送当前目录下的 ces.xlsx 文件
att1 = MIMEText(open('temp.csv', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename="temp.csv"'
message.attach(att1) try:
smtpObj = smtplib.SMTP()
print("4")
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
print("5")
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string()) print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")
print("6")

  

  

python生成csv并发送邮件的更多相关文章

  1. python 生成csv乱码问题解决方法

    需求背景 最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件.附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存为Excel,但 ...

  2. python 生成测试报告并发送邮件

    前言: 使用unittest编写自动化测试脚本,执行脚本后可以很方便看到测试用例的执行情况. 但如果想向领导汇报工作,就需要提供更直观的测试报告. 思路: 使用unittest编写测试用例,HTMLT ...

  3. Python生成csv中文乱码解决办法

    前言 在Linux下面用python进行数据处理,然后输出为csv格式,如果没有中文一切正常,但是如果有中文,就会出现乱码的问题,本篇将讲述怎么处理这个问题 处理过程 原始代码 #!/usr/bin/ ...

  4. Python处理Excel生成CSV文档

    Python是一种解释型的.动态数据类型的.面向对象的高级程序设计语言.拥有丰富的处理数据和文本类库,并且得益于它是一种解释型的语言,在程序修改和功能扩展上,可以很容易做到大规模的调整.综合考虑Pyt ...

  5. 转载:python生成以及打开json、csv和txt文件

    原文地址:https://blog.csdn.net/weixin_42555131/article/details/82012642 生成txt文件: mesg = "hello worl ...

  6. 使用Python读写csv文件的三种方法

    Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是 ...

  7. python读写csv文件

    文章链接:https://www.cnblogs.com/cloud-ken/p/8432999.html Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗 ...

  8. Python生成PASCAL VOC格式的xml标注文件

    Python生成PASCAL VOC格式的xml标注文件 PASCAL VOC数据集的标注文件是xml格式的.对于py-faster-rcnn,通常以下示例的字段是合适的: <annotatio ...

  9. django 动态生成CSV文件

    CSV (Comma Separated Values),以纯文本形式存储数字和文本数据的存储方式.纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样的数据.CSV文件由任意数目的记录组成,记 ...

  10. Django生成CSV文件

    1.生成CSV文件 有时候我们做的网站,需要将一些数据,生成有一个CSV文件给浏览器,并且是作为附件的形式下载下来.以下将讲解如何生成CSV文件. 2.生成小的CSV文件 这里将用一个生成小的CSV文 ...

随机推荐

  1. Spark详解(02) - Spark概述

    Spark详解(02) - Spark概述 什么是Spark Hadoop主要解决,海量数据的存储和海量数据的分析计算. Spark是一种基于内存的快速.通用.可扩展的大数据分析计算引擎. Hadoo ...

  2. 《深度探索C++对象模型》第四章 Function语意学

    member function相对于nonmember function之间不存在效率之间的差别,因为编译器内部已经将"member 函数实体"转化为对等的"nonmem ...

  3. [1]SpinalHDL安装环境

    [1]SpinalHDL安装环境 最好的教程是官方文档!不过推荐英文文档 英文版 中文版 一.安装java环境 SpinalHDL相当于是scala的一个包,而scala是运行在jvm上的.所以我们先 ...

  4. Java遍历Map集合

    Java遍历Map集合简单例子 import java.util.*; public class Main { public static void main(String[] args) { Has ...

  5. CSS中知

    1CSS特性    1.3优先级    1.4权重叠加计算 2Chrome调试工具     2.1查错流程 3CSS盒子模型    3.1内容的宽度和高度    3.2边框(border)-连写形式 ...

  6. 洛谷 P1094纪念品分组 题解

    一道典型的贪心算法题. 题目内容不多说了,大致说一下代码的思路: 给定的所有纪念品中可以先用sort排一下顺序,然后从价格最高和最低的开始向中间靠拢(可以看做是指针),这样保证每组的搭配都是最优的. ...

  7. vue-echarts数据可视化实现自适应屏幕进行缩放,这个我写了两篇文章,一个用了vue-echarts,一个直接用的charts ,我可真机智 啊~~~

    使用这个后可以实现屏幕自适应 效果如下 <template> <div style="width:100%;height:20rem" ref="res ...

  8. 如何让Java编译器帮你写代码

    作者:京东零售 刘世杰 导读 本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开.通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码 ...

  9. java 进阶P-3.3+P-3.4

    Array list的操作 ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素.ArrayList 继承了 AbstractList , ...

  10. C-04\IDE基础知识和分支,循环语句

    一.浮点数特性及比较方法 浮点数在多参数传参的时候默认是会进行精度转换,由float转换到double,浮点数是一个近视值,不能进行直接等于比较,一般可以用区间法比较但是会存在精度丢失的问题. 浮点数 ...