从Outlook电子邮件中写入Excel文件

时间:2015-12-15 15:29:27

标签: python excel python-2.7 outlook excel-2010

我在Python中编写了一些代码,使用win32com.client读取Outlook文件夹中的电子邮件。我可以轻松阅读它,内置了所有逻辑,现在想要在迭代所有消息时编写Excel文件。这是我遇到问题的地方。

我最近的尝试使用了xlwt,但我愿意使用任何东西。我遇到的问题是,当我尝试使用发件人或Outlook电子邮件中的日期编写单元格时,我收到以下错误:

  

异常:意外的数据类型

有谁知道如何解决这个问题/解决它?

我是否必须将.Sender,.Date实例转换为其他形式?

以下快速示例:

import win32com.client
import xlwt
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
book = xlwt.Workbook(encoding="utf-8")
sheet = book.add_sheet("New Sheet")
for folder in inbox_folders:
    fold = folder.Items
    for messages in fold:
        date = fold.ReceivedTime
        sender = fold.Sender
        sheet.write(1,0,date)
        sheet.write(2,0,sender)

1 个答案:

答案 0 :(得分:4)

sheet.write(2,0,sender)替换为sheet.write(2,0,sender.Name)sheet.write(2,0,sender.Address).