Я работаю над сценарием, который выполняет следующие действия:
1) Go через почтовый ящик Outlook
2) Останавливается на электронном письме, которое соответствует моему состоянию
3) Захватывает вложенный файл Excel в формате .XLS (ТОЛЬКО 1 файл)
4) Массаж данных там
5) Сохранение файла результатов в папке
Проблема в том, что я пытаюсь чтобы Python обработал файл из памяти, и я получил следующую ошибку при чтении файла.
AttributeError: Item.Read
Я ценю любые советы здесь.
import win32com.client
import os
import xlrd
from io import BytesIO
from datetime import datetime, date
from openpyxl import load_workbook
# Retrieve the email attachment from Outlook.
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
# Access the Inbox.
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
for message in messages:
if message.Subject == "XYZ" and message.Senton.date() == date.today():
attachments = message.Attachments
a = attachments.Item(1)
##### Most likely I am missing something between these 2 lines
workbook = xlrd.open_workbook(file_contents=BytesIO(a.read()))