Python programmering
Hej! Jag har suttit med samma fel-meddelande och lyckas inte lösa det då jag är rätt ny på python... Finns det någon som kan rädda mig:D
Koden är:
import os
from imap_tools import MailBox, AND
user = "XXXXXX@outlook.com"
password = "XXXX"
server = "outlook.office365.com"
mb = MailBox(server).login(user, password)
def getDateFromHeader(header):
return header [len(header)-10:len(header)]
import pandas as pd
from openpyxl import load_workbook
def storeEmailContentData(message, instance, date):
print("begin")
data=[]
info = message.split('\r\n')
for row in info:
res=row.split(';')
if len (res)>1:
res.append(date)
print(res)
data.append(res)
else:
print(res)
headers = data.pop(0)
df = pd.DataFrame(data, columns=headers)
wb = load_workbook('C:/Users/rebeccag/code/nya.xlsx')
writer = pd.ExcelWriter('C:/Users/rebeccag/code/nya.xlsx', engine='openpyxl')
writer.book = wb
writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)
reader = pd.read_excel(r'C:/Users/rebeccag/code/nya.xlsx', sheet_name=instance)
print(len(reader))
df.to_excel(writer, sheet_name=instance, index=False,header=False, startrow=len(reader)+1)
writer.save()
writer.close()
return True
instances = ["SE", "NO", "DK"]
for instance in instances:
print(instance)
mb = MailBox(server).login(user, password)
messages = mb.fetch(mark_seen=False, bulk=True)
for msg in messages:
if msg.subject.startswith("PA") and "("+instance+")" in msg.subject:
print(msg.from_, ': ', msg.subject)
storeEmailContentData(msg.text, instance, getDateFromHeader(msg.subject))
Och mitt problem är att jag inte kommer ifrån BadZipFile "file is not a zipfile", det får jag alltså vid (load_workbook). Är det någon som har en idé på vad jag missar?? Så tacksam för hjälp!!