Я хочу получить одну таблицу, которая находится внутри тела одного MSG-файла с Python. Я могу получить содержимое тела, но мне нужно, например, разделить таблицу на датафреймы.

Я могу получить содержимое тела, но не могу разделить таблицу тела

import win32com.client
import os

dir = r"C:\Users\Murilo\Desktop\Emails\030"

file_list = os.listdir(dir)

for file in file_list:
    if file.endswith(".msg"):
        outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
        msg = outlook.OpenSharedItem(dir + "/" + file)
        print(msg.Body)

Мне нужна таблица, которая существует в содержании тела, но не все тело

1
Murilo Leite 2 Июл 2019 в 22:33

2 ответа

Лучший ответ

Если это таблица HTML, используйте MailItem.HTMLBody (вместо простого текста Body) и извлеките таблицу из HTML.

0
Dmitry Streblechenko 2 Июл 2019 в 20:22

Я бы посмотрел на библиотеку extract_msg. Это должно позволить вам открыть файл .msg в виде простого XML и очень легко извлечь таблицу из содержимого.

msg = extract_msg.Message(fileLoc)
    msg_message = msg.body

    content = ('Body: {}'.format(msg_message))
0
cajenh 2 Июл 2019 в 20:03