我是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():
已解决!
发件人= messages2.SenderName
&
如果EmailList ['Name']。str.contains(sender).any():