Python exchangelib-将项目从收件箱文件夹导出到CSV

时间:2019-10-16 09:24:03

标签: python exchangelib

我使用的是exchangelib,并且运行良好,但是当我尝试导出项目信息时,例如:

data= ("Inbox", item.datetime_received, item.sender, item.subject)

当我使用打印时,所有项目均按预期显示,每封电子邮件都以新行显示:

  

收件箱2019-10-15,杰克,新电子邮件信息

     

收件箱2019年10月16日,汤姆,您好

     

收件箱2019-10-17,安娜,测试电子邮件

当我尝试使用以下代码将其写入CSV时:

with open("C:/mail_export.csv",'w',newline='\n',encoding="utf-8") as f:
    for item in inbox_folder.all().order_by('-datetime_received'):
        data=("Inbox", item.datetime_received, item.sender, item.subject)
        f.write(str(data))

我在一排长行中获得了所有信息,我无法保存此信息,因此每个项目都从新行开始。现在看起来像这样:

  

收件箱2019-10-15,杰克,新电子邮件信息收件箱2019-10-16,汤姆,你好收件箱2019-10-17,安娜,测试电子邮件

我做错了什么?打印时如何以相同的方式编写这种显示方式?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

想想您很亲密,我无法复制您的问题。但是我建议您在写函数中添加\ n,因为只有这样,代码才有可能将其写到新行中。根据您的输出,其他所有步骤均正确执行