Openpyxl: Excel Sheets updaten anstatt overwriten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gerryontour
User
Beiträge: 23
Registriert: Dienstag 30. Juni 2020, 15:50

Hi,

ich habe eine kleine Funktion geschrieben, die mir in ein Excel-Sheet an jedem Tag ein Result speichern soll.
Im Hintergrund läuft der Crawler, der die Daten in die Funktion einspeist.

Eigentlich funktioniert das Ganze, bis auf die Sache mit dem Overwrite.
Jedes mal wird die Datei neu erstellt und nicht aktualisiert.

Kann mir jemand sagen, wie ich das als update löse, oder die alten Daten mit in das Dokument speise, so wie ich es mit dem ersten Sheet mache?

Code: Alles auswählen

def save_results(excel_urls,erg):
    currentdate = str(date.today()) + " lol"
    excel_file = openpyxl.load_workbook('Links2.xlsx')
    excel_sheet = excel_file['Sheet']
    book = Workbook()
    sheet = book.active
    sheet.column_dimensions['A'].width = 60
    sheet.column_dimensions['B'].width = 60
    for row in excel_sheet.values:
        sheet.append(row)
    book.create_sheet(currentdate)
    book[currentdate].column_dimensions['A'].width = 60
    book[currentdate].column_dimensions['B'].width = 60
    for keys,values in enumerate(excel_urls):
        y = values[0], str(erg[keys])
        print(y)
        book[currentdate].append(y)
    book.save('Links2.xlsx')
Danke im voraus!
Bl3nder
User
Beiträge: 139
Registriert: Freitag 3. Januar 2020, 17:07

Ich bin selber Anfänger aber Ich versuche es mal was meinst du mit genau die Datei wird neu erstellt ( meinst du damit du hast zum Beispiel deine Datei Links2 und anstatt im ersten sheet neu reinzuschreiben wird ein neues erzeugt? Ich hatte mal falls das dein Problem ist genau das gleiche es gab da nicht wirklich eine Lösung für Ich habe mal in einem Forum folgendes gelesen:

with pd.ExcelWriter(Pfad_Testdatei, engine="openpyxl",mode="a") as writer:
writer.sheets = {sheet.title: sheet for sheet in writer.book}

Ich glaube die manipulieren so etwas in der Biblithek ich weiß nicht ob dir das hilft aber vill findest du mit dem Code etwas das dir sonst hilft
Eine Vision ohne Aktion bleibe eine Illusion
Antworten