通过电子邮件 pandas 数据框作为 csv 附件

Email pandas dataframe as csv attachment

所以,我有一个清理过的数据框,我正尝试使用 Outlook 将其导出为附件。 在这种情况下,我使用 win32.client 发送电子邮件。

outlook = win32com.client.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = 'abc@abc.com'
mail.Subject = 'Sample Email'
mail.Body = '''Please find data attached and below.\n
Hello! This is the body'''
mail.Attachments.Add(Source=df_merged.to_csv)

我正在尝试将 df 作为附件附加到 csv 或 excel 中。我收到此错误。

TypeError: Objects of type 'method' can not be converted to a COM VARIANT

我发现这只接受附件的系统地址,而不接受数据框对象的地址。任何想法将不胜感激。

您正在传递 to_csv 函数本身作为参数: mail.Attachments.Add(来源=df_merged.to_csv)

改用这个: mail.Attachments.Add(Source=df_merged.to_csv())

您也可以将 Dataframe 临时存储在磁盘上,并使用文件路径代替。然后,您可以使用 os

将其删除