Python邮件发送之HTML表格快速建立

有时候需要发送带表格邮件,可能我们的数据是从数据库导出,或者是来自外部的csv或者excel文件,不管是哪种形式,到了Python,都是DataFrame格式,这时候,我们想将表格嵌入到HTML中,别急!有捷径!

1、Head通用部分

head = \
        """
        
            
            
        
        """

2、Body部分

body = \
        """
        

        

请输入你的标题

{yesterday}


{df_html}

"""
.format(yesterday=get_yesterday(),df_html=df_html)

3、HTML构建

html_msg = "" + head + body + ""

4、DataFrame数据的HTML表格转化

html_msg = "" + head + body + ""
html_msg = html_msg.replace('\n','').encode("utf-8")

上面的代码具有复用性,关键的关键就是df_html如何生成。

pd.set_option('display.max_colwidth', -1) #设置表格数据完全显示(不出现省略号)
df_html = filter_merge_data.to_html(escape=False) #DataFrame数据转化为HTML表格形式

拼接后的HTML可能含有换行符\n,需要将其去掉,最终得到的html_msg即为发送邮件的HTML内容。

html_msg = "" + head + body + ""
html_msg = html_msg.replace('\n','').encode("utf-8")

发送邮件的部分就不介绍了,借助email以及smtplib就可以了。

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.header import Header
import smtplib

Python邮件发送之HTML表格快速建立_第1张图片

你可能感兴趣的:(Python,Python邮件发送,HTML表格快速建立)