首页 > 解决方案 > Python Outlook (MAPI) 获取回复邮件的响应时间

问题描述

我使用的ConversationID是 中的邮件Inbox和 中的邮件Sent Items,假设我们回复的邮件的 ID 相同,并且相同,但问题始于电子邮件链(或回复:邮件又名对话) .

由于 ID 保持不变,而且人们甚至在几天后仍会继续回复,因此执行简单的 datetime - datetime(具有相同的 ConversationID)会产生诸如 等的-1Day 20:05:01输出-9Days

我只想找到进入收件箱的任何邮件的第一次回复的响应时间。

(抱歉,无法共享代码)。

标签: pythonoutlook

解决方案


为了从具有完全相同 ConversationID(由 Outlook 自动生成)的邮件链中获取响应时间,我执行了以下操作:

我已经有两个 Pandas DF(比如说“A”和“B”),每个都有两列,即: ConversationIDTime(用于接收和发送的邮件)。

现在,

  1. 在“ConversationID”上创建了一个带有“A”和“B”内部连接的 Pandas DataFrame“C”。(这给了我所有我回复过的邮件)。

  2. 将这两列排序Time为“升序”。(这会将收到的第一封邮件和第一封邮件回复到顶部)。

  3. Time现在使用条件过滤两列 上的新 DataFrame 'C' , Replied Mail Time > Received Mail Time (删除我得到的 -1 天输出)

  4. Groupby on Received Mail Timeand use .first() (最后给出真实响应时间,经过计算Replied Mail Time - Received Mail Time


推荐阅读