10

我想将 pandas 数据帧数据作为 HTML 电子邮件发送。基于这篇文章,我可以使用数据框创建一个 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 电子邮件发送。我试过这个。无法弄清楚如何附加 html 文件?

4

2 回答 2

13

Pandas 对此有一个功能

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

df = DataFrame(data)

email = " some html {df} lah lah"

email = email.format(df=df.to_html())
于 2016-05-13T15:36:39.717 回答
4

终于找到了。这是它应该做的方式。

filename = "test.html"
f = file(filename)
attachment = MIMEText(f.read(),'html')
msg.attach(attachment)
于 2013-10-30T11:02:47.480 回答