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 ,因为只有这样代码才有可能将其写入新行。根据您的输出,所有其他步骤都已正确执行
我正在使用 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 ,因为只有这样代码才有可能将其写入新行。根据您的输出,所有其他步骤都已正确执行