已解决! Python,如果将Outlook发件人与现有数据框条目进行比较则if语句不起作用

问题描述 投票:0回答:1

我是python的新手,正在努力解决这个问题,并已搜索了数小时。我正在扫描Outlook收件箱以查找特定主题(是)。如果我找到了该主题,请获取发件人电子邮件,并检查该发件人是否在我的电子邮件列表中...否则,请将其添加到我的电子邮件列表中。

我被IF语句所困,将发送方与我的数据帧中的内容进行比较。EmailList.xlsx具有1列“名称”和8个条目“ LastName,FirstName I”

import win32com.client
import os
import pandas as pd

get_path = os.getcwd()
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items

EmailList = (pd.read_excel("EmailList.xlsx", sheet_name='ABC', index_col=0))

EmailList.info() #<<-- I can see my dataframe, column name and number of entries.

a=len(messages)
if a > 0:
    for messages2 in messages:
        subject = messages2.Subject

        if "YES" in subject:
            sender = messages2.Sender
            print(subject) #<<-- Works fine, I see the subject
            print(sender) #<<-- Works fine, I see the sender

            if EmailList ['Name'] == sender: <<-- does not work
            if EmailList ['Name'].str.contains(sender).any(): <<-- does not work
                print("Your are already subscribed")

            else:
             print("append DF")

有什么想法吗?我猜测“发送者”字符串中有些东西,但是我无法弄清楚。

谢谢您的任何想法

已解决!

发件人= messages2.SenderName

如果EmailList ['Name']。str.contains(sender).any():

python outlook
1个回答
0
投票

已解决!

发件人= messages2.SenderName

如果EmailList ['Name']。str.contains(sender).any():

© www.soinside.com 2019 - 2024. All rights reserved.