通过电子邮件 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
包
将其删除
所以,我有一个清理过的数据框,我正尝试使用 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
包