我有一个文件夹,其中有近12k (.msg)文件,每个文件都有一个csv附件。我设法获得了从每个.msg文件中提取附件的代码。但是由于附件和主题是相似的,所以附件一直被写得很好!我尝试用msg重命名。主题但MSG的主题是相似的
import win32com.client
import os
inputFolder = r'directory with my msg' ## Change here the input folder
outputFolder = r'directiry for attachments' ## Change here the attachments output folder
for file in os.listdir(inputFolder):
if file.endswith(".msg"):
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
filePath = inputFolder + '\' + file
msg = outlook.OpenSharedItem(filePath)
att = msg.Attachments
for i in att:
i.SaveAsFile(os.path.join(outputFolder, str(msg.subject + ".csv")))
#Saves the file with the attachment name
您需要找到一种算法,允许唯一地识别附件-尝试将附件文件名与电子邮件数据(如ReceivedTime等)结合起来。
在保存附件之前,不要忘记从结果文件名中排除禁止符号。