从 Outlook 中提取主题部分可变的电子邮件附件 Python

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

我每天都会收到一封电子邮件,其中的主题部分是可变的。所以电子邮件主题的固定部分是:电子邮件声明[今天的日期,格式为dd/mm/yy],在此之后主题有一个带有大量随机数的可变部分。现在我想从这封电子邮件中提取附加的 csv 文件并将其保存在 Python 中。我尝试过以下方法:

import glob
import win32com.client as win32
from datetime import date

Date_fmt2 = (date.today()).strftime("%d/%m/%y")

outlook = win32.Dispatch('outlook.application').GetNamespace("MAPI")
folder = outlook.Folders.Item(1).Folders.Item("Inbox").Folders.Item("Statements")
messages = folder.Items

for message in messages:
        if message.Subject == glob.glob(str('e-mail statement ' + Date_fmt2 + '*')):
               attachment = message.Attachments.Item(1)
               attachment.SaveAsFile('C:\\...\\Statement ' + Date_fmt2 + '.csv')

我以为

glob.glob
部分可以解决变量名称,但它似乎返回一个空值。有人知道该怎么做吗?

提前致谢!

python variables outlook attachment subject
1个回答
0
投票

如果问题出在 glob.glob 上,你可以尝试“startswith”

if message.Subject.startswith('e-mail statement ' + Date_fmt2):
    attachment = message.Attachments.Item(1)
    attachment.SaveAsFile('C:\\...\\Statement ' + Date_fmt2 + '.csv')

仅当可变部分位于末尾时,这才是正确的。

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