将 pandas 数据帧数据作为 html 电子邮件发送

Posted

技术标签:

【中文标题】将 pandas 数据帧数据作为 html 电子邮件发送【英文标题】:Send pandas dataframe data as html e-mail 【发布时间】:2013-11-09 21:11:30 【问题描述】:

我想将 pandas 数据帧数据作为 html 电子邮件发送。基于this 帖子,我可以使用数据框创建一个html。代码

import pandas as pd
import numpy as np

HEADER = '''
<html>
    <head>

    </head>
    <body>
'''
FOOTER = '''
    </body>
</html>
'''

df = pd.DataFrame([[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], list('AAABBBBABCBDDD')]).T
with open('test.html', 'w') as f:
    f.write(HEADER)
    f.write(df.to_html(classes='df'))
    f.write(FOOTER)

现在我想将其作为 html 电子邮件发送。我试过this。无法弄清楚如何附加 html 文件?

【问题讨论】:

查看 ipyhon 笔记本,非常适合这类工作 @Woody Pride:不适用于 ipython notebook :) 【参考方案1】:

Pandas 有一个函数for this。

这将为表格提供 html 代码,之后您可以将其嵌入到电子邮件中:

df = DataFrame(data)

email = " some html df lah lah"

email = email.format(df=df.to_html())

【讨论】:

【参考方案2】:

终于找到了。应该这样做。

filename = "test.html"
f = file(filename)
attachment = MIMEText(f.read(),'html')
msg.attach(attachment)

【讨论】:

想知道您是否可以为此提供完整的脚本? ***.com/questions/882712/…

以上是关于将 pandas 数据帧数据作为 html 电子邮件发送的主要内容,如果未能解决你的问题,请参考以下文章

我可以将 spark 数据帧作为参数发送给 pandas UDF

将 csv 文件作为浮点数读取到 pandas 数据帧

使用分块将 CSV 文件读入 Pandas 数据帧,生成单个目标数据帧

如何将SalesForce数据导入Python Panda数据帧

将 pandas df 作为 blob 存储在 oracle 数据库中

将 dict 构造函数转换为 Pandas MultiIndex 数据帧