首页 > 解决方案 > 如何撰写带有数据框的电子邮件作为正文中的表格以及一些文本?

问题描述

我想撰写一封电子邮件,正文中包含一个表格以及一些支持文本。到目前为止,我有:

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
email_ = EmailMessage()
email_['Subject'] = "Test mail"
email_['From'] = <email_address>
email_['To'] = <email_address>
email_.set_content(df.to_html(index=False), "html")

我将如何在表格下方添加一些额外的文本?

标签: pythonemail

解决方案


也许您可以在设置内容之前积累所有信息:

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

d2 = {'col1': ['a', 'b'], 'col2': ['c', 'd']}
df2 = pd.DataFrame(data=d2)

email_ = EmailMessage()
email_['Subject'] = "Test mail"
email_['From'] = email_address
email_['To'] = email_address

html1 = df.to_html(index=False)
html2 = df2.to_html(index=False)
two_tables_html = html1 + html2
more_text = '\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'

body_text = two_tables_html + more_text

email_.set_content(body_text, "html")

print(email_)

推荐阅读