使用Microsoft Outlook 2010中的Python写入csv
我每周收到大约60封电子邮件,我必须手动将数据输入csv文件。我使用Microsoft Outlook 2010,收件箱中有一个子文件夹,名为“市场电子邮件”。在这个子文件夹中,我有一些电子邮件,其中包括所有者姓名、企业名称以及我需要写入csv的电子邮件使用Microsoft Outlook 2010中的Python写入csv,python,email,csv,export-to-csv,outlook-2010,Python,Email,Csv,Export To Csv,Outlook 2010,我每周收到大约60封电子邮件,我必须手动将数据输入csv文件。我使用Microsoft Outlook 2010,收件箱中有一个子文件夹,名为“市场电子邮件”。在这个子文件夹中,我有一些电子邮件,其中包括所有者姓名、企业名称以及我需要写入csv的电子邮件 我正试图用Python实现这一点,但我不确定我是否能够做到。谢谢你能提供的任何帮助 这是一个相当广泛的问题,但这是可能的,使用.NET COM互操作 StackOverflow帖子也会介绍一些类似的内容,您可以使用这些内容从收到的电子邮件中获取
我正试图用Python实现这一点,但我不确定我是否能够做到。谢谢你能提供的任何帮助 这是一个相当广泛的问题,但这是可能的,使用.NET COM互操作 StackOverflow帖子也会介绍一些类似的内容,您可以使用这些内容从收到的电子邮件中获取详细信息 以上帖子中的代码:
import win32com.client
import pythoncom
import re
class Handler_Class(object):
def OnNewMailEx(self, receivedItemsIDs):
# RecrivedItemIDs is a collection of mail IDs separated by a ",".
# You know, sometimes more than 1 mail is received at the same moment.
for ID in receivedItemsIDs.split(","):
mail = outlook.Session.GetItemFromID(ID)
subject = mail.Subject
try:
# Taking all the "BLAHBLAH" which is enclosed by two "%".
command = re.search(r"%(.*?)%", subject).group(1)
print command # Or whatever code you wish to execute.
except:
pass
outlook = win32com.client.DispatchWithEvents("Outlook.Application", Handler_Class)
#and then an infinit loop that waits from events.
pythoncom.PumpMessages()
Excel
然后,您将继续使用interop for excel,并提供相当广泛的教程您到底想让我们了解些什么这是非常广泛的;你只是想知道Python是否可以做到这一点吗?我想我想知道他是否尝试了一些东西。如果你有64,我肯定会被卡住,并试图弄清楚这是否可能——谢谢@haddow64我目前正在尝试实现您的解决方案,但似乎找不到有关DispatchWithEvents的文档。我可以和你核实一下它是否有效吗?我必须将Outlook和一个类传递给DispatchWithEvents——如果我在类中有多个函数,它会调用哪个函数?另外,我如何知道DispatchWithEvents会将ReceivedItemId传递到OneNewMailEx函数中?非常感谢。