使用 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 转换为电子邮件附件的主要内容,如果未能解决你的问题,请参考以下文章

将时间序列的时间精度降低到毫秒

Pandas 重置索引深度总结

将 easy_install 与 sklearn-pandas 一起使用

将带有值列表的字典转换为数据框

Pandas 到 pyspark cumprod 函数

MIME 应用程序/下载