Извлечение вложений .xlsx из файлов .msg - PullRequest
0 голосов
/ 23 октября 2019

Я знаю, что этот вопрос задавался здесь несколько раз, и я попробовал то, что, по-видимому, сработало для других ... У меня есть более 1000 файлов Outlook .msg с вложенными файлами .xlsx, которые хранятся в папках на моем рабочем столе, и я тольконеобходимо извлечь файлы .xlsx для объединения в один фрейм данных.

Я пробовал макрос VBA и Python [Win32] ( Анализ файлов MSG Outlook с Python *)1006 *) и msg-экстрактор . Лучшее, что я могу сделать, - это извлечь одно вложение из одного MSG-файла

. Любой совет очень важен. Спасибо!

import argparse
import csv
import os as os
import pathlib
import sys
from datetime import date, datetime, timedelta, tzinfo
from enum import Enum, IntEnum
from tempfile import mkstemp

import dateutil.parser as duparser
from dateutil.rrule import rrulestr, rruleset
import pywintypes
import pytz
import win32com.client  

path = r'C:\Users\Me\Desktop\MyFiles\feb_2018'
files = [f for f in os.listdir(path) if '.msg' in f]
print (files)
for file in files:
    outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
    msg = outlook.OpenSharedItem(os.path.join(path, file))
    att=msg.Attachments
    for i in att:
        i.SaveAsFile(os.path.join(path, i.FileName))       


...