使用 MIMEApplication 将 Pandas Dataframe 转换为电子邮件附件
Posted
技术标签:
【中文标题】使用 MIMEApplication 将 Pandas Dataframe 转换为电子邮件附件【英文标题】:Convert Pandas Dataframe to email Attachment using MIMEApplication 【发布时间】:2020-12-04 21:39:40 【问题描述】:我正在使用 MIMEApplication 将我的数据框转换为附件,并且在发生这种情况时看到以下错误。下面是我的上下文代码:
att = MIMEApplication(dataframe)
att.add_header('Content-Disposition','attachment; filename='+ 'test.csv')
此代码导致以下错误:
TypeError: expected bytes-like object, not NoneType
【问题讨论】:
【参考方案1】:文档很清楚MIMEApplication。 data
参数必须是字符串。显然,数据框是二进制对象。所以选择你的字符串表示形式.... CSV、html 等
import pandas as pd
import email.mime.application
sf = pd.DataFrame(columns=[tuple([f"labeli//2",f"fi+1"]) for i in range(6)])
sf = sf.reindex(pd.MultiIndex.from_tuples(sf.columns), axis=1)
att = email.mime.application.MIMEApplication(sf.to_csv())
att.add_header('Content-Disposition','attachment; filename='+ 'test.csv')
【讨论】:
以上是关于使用 MIMEApplication 将 Pandas Dataframe 转换为电子邮件附件的主要内容,如果未能解决你的问题,请参考以下文章