Beim Arbeiten mit vorhandenen Excel-Dateien ist es wichtig, das Überschreiben von Daten zu vermeiden. In Pandas kann dieses Problem auftreten, wenn Sie mit der to_excel()-Methode in eine vorhandene Datei schreiben.
Der folgende Code versucht, einen DataFrame in ein bestimmtes Blatt in einem vorhandenen Excel zu schreiben Datei:
import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
Das Problem entsteht, weil Pandas alle anderen Blätter in der Datei löscht und nur das neu erstellte Blatt mit dem Namen übrig bleibt „Main.“
Um dieses Problem zu beheben, können wir die openpyxl-Bibliothek nutzen, die Pandas intern für die Verarbeitung von XLSX-Dateien verwendet. Indem wir die vorhandene Arbeitsmappe mit openpyxl.load_workbook() laden und sie dem ExcelWriter-Objekt zuweisen, können wir das Blattwörterbuch ändern, um sicherzustellen, dass die vorhandenen Blätter erhalten bleiben.
Hier ist der geänderte Code:
import pandas from openpyxl import load_workbook book = load_workbook('Masterfile.xlsx') writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') writer.book = book # Assign the sheet dictionary to preserve existing sheets writer.sheets = dict((ws.title, ws) for ws in book.worksheets) data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
Das obige ist der detaillierte Inhalt vonWie kann ich Pandas-Daten an eine vorhandene Excel-Datei anhängen, ohne vorhandene Tabellenblätter zu überschreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!