1

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

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

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

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

收件箱 2019-10-16,汤姆,你好

收件箱 2019-10-17, anna, 测试邮箱

当我尝试使用以下代码将其写入 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 日,安娜,测试电子邮件

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

4

1 回答 1

3

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

于 2019-10-16T09:46:46.483 回答