python - 使用 MIMEApplication 将 Pandas Dataframe 转换为电子邮件附件
问题描述
我正在使用 MIMEApplication 将我的数据框转换为附件,并且在发生这种情况时看到以下错误。下面是我的上下文代码:
att = MIMEApplication(dataframe)
att.add_header('Content-Disposition','attachment; filename='+ 'test.csv')
此代码导致以下错误:
TypeError: expected bytes-like object, not NoneType
解决方案
文档很明确MIMEApplication。 data
参数必须是字符串。显然,数据框是二进制对象。所以选择你的字符串表示形式.... CSV、HTML 等
import pandas as pd
import email.mime.application
sf = pd.DataFrame(columns=[tuple([f"label{i//2}",f"f{i+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')
推荐阅读
- angular - 如何仅使用 Angular 6 中的打字稿在右下角打开 bs Modal?
- python - 如果字典中的两个值属于同一个键,它们是否属于另一个字典中的同一个键?
- groovy - Kamel 安装命令不起作用。错误:无法自动找到推送图像的注册表
- java - 找到旋转最多的轴?
- graphics - 反馈循环是否也适用于 OpenGL ES 中的缓冲区访问?
- python - 如何删除字符串中两个代码标签之间的逗号、句号和分号?
- python - 如何避免短文本分类中的实体过拟合?
- java - 运行嵌入式 ElasticSearch 时权限被拒绝异常
- android - Android - 配置文件 CONTENT_URI 返回零计数光标
- php - 如何在PHP中检查文件是否存在?