Python exchangelib - 将收件箱文件夹中的项目导出到 csv

Python exchangelib - exporting items from Inbox folder to csv

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

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

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

Inbox 2019-10-15, jack, New email information

Inbox 2019-10-16, tom, Hello

Inbox 2019-10-17, anna, Test email

当我尝试使用以下代码将其写入 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))

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

Inbox 2019-10-15, jack, New email information Inbox 2019-10-16, tom, Hello Inbox 2019-10-17, anna, Test email

我做错了什么?如何以打印时显示的相同方式编写此内容?非常感谢任何帮助!

我认为你非常接近,我无法重现你的问题。但我建议您在写入函数中添加 \n ,因为只有这样代码才有可能将其写入新行。根据您的输出,所有其他步骤都已正确执行