【问题标题】:Python exchangelib - exporting items from Inbox folder to csvPython exchangelib - 将收件箱文件夹中的项目导出到 csv
【发布时间】:2019-10-16 17:46:46
【问题描述】:

我正在使用 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,jack,新邮件信息 Inbox 2019-10-16,tom,Hello Inbox 2019-10-17,anna,测试邮箱

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

【问题讨论】:

    标签: python exchangelib


    【解决方案1】:

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

    【讨论】:

    • 感谢您为我指明了正确的方向。如此小而简单的代码就成功了。再来一次,谢谢你的帮助!
    猜你喜欢
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 2011-12-22
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多