Schreiben in vorhandene Excel-Dateien ohne Überschreiben: Eine Pandas-Lösung
Beim Arbeiten mit Excel-Dateien mit Pandas: Schreiben in ein vorhandenes Blatt ohne Überschreiben Die vorhandenen Daten können eine häufige Herausforderung darstellen. Dieses Problem tritt auf, wenn Pandas das Standardverhalten von ExcelWriter verwendet, das vorhandene Daten überschreibt, indem ein neues Blatt erstellt wird.
Um dieses Problem zu umgehen, können Sie den Parameter „engine“ von ExcelWriter nutzen, mit dem Sie die zugrunde liegende Excel-Engine angeben können. Indem Sie diesen Parameter auf „openpyxl“ setzen, können Sie die Funktionalität von openpyxl in Pandas integrieren.
Hier ist der Code, der das Problem behebt:
import pandas from openpyxl import load_workbook # Load the existing Excel workbook book = load_workbook('Masterfile.xlsx') # Create an ExcelWriter object using the openpyxl engine writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') # Set the ExcelWriter's book attribute to the loaded workbook writer.book = book # Assign sheet names to the writer object's sheets attribute writer.sheets = dict((ws.title, ws) for ws in book.worksheets) # Write data to the existing sheet data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) # Save the updated workbook writer.save()
Durch Angabe der „openpyxl“-Engine wird die geändert Code nutzt die Fähigkeit von openpyxl, auf vorhandene Blätter in der Arbeitsmappe zuzugreifen. Dadurch können Pandas Daten an das „Haupt“-Blatt anhängen, ohne die anderen Registerkarten zu überschreiben.
Beachten Sie, dass Sie sicherstellen müssen, dass das „Haupt“-Blatt in der ursprünglichen Arbeitsmappe vorhanden ist, bevor Sie diesen Code ausführen, um zu vermeiden, dass ein neues Blatt erstellt wird Das Blatt existiert nicht.
Das obige ist der detaillierte Inhalt vonWie kann Pandas Daten an eine vorhandene Excel-Tabelle anhängen, ohne sie zu überschreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!