Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit Pandas Daten an eine vorhandene Excel-Tabelle anhängen, ohne sie zu überschreiben?

Wie kann ich mit Pandas Daten an eine vorhandene Excel-Tabelle anhängen, ohne sie zu überschreiben?

DDD
DDDOriginal
2024-12-25 05:57:13807Durchsuche

How Can I Append Data to an Existing Excel Sheet Using Pandas Without Overwriting?

Mit Pandas in vorhandene Excel-Dateien schreiben, ohne Daten zu überschreiben

Wenn Sie mit Pandas in Excel-Dateien schreiben, ohne vorhandene Daten zu überschreiben, tritt ein häufiges Szenario auf, wenn Sie Daten hinzufügen möchten ein neues Blatt zu einer zuvor erstellten Datei. Das Standardverhalten von Pandas überschreibt jedoch die gesamte Datei und löscht alle vorhandenen Registerkarten. Um dieses Problem zu lösen, können wir die openpyxl-Bibliothek nutzen.

Openpyxl-Integration mit Pandas ExcelWriter

Pandas verwendet openpyxl zur Verarbeitung von XLSX-Dateien. Indem wir den Parameter „engine“ in ExcelWriter explizit auf „openpyxl“ setzen, erhalten wir Zugriff auf eine detailliertere Kontrolle über den Inhalt der Datei.

Code-Implementierung

import pandas
from openpyxl import load_workbook

book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book

# Populate a dictionary of existing sheets for ExcelWriter
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

# Write to the desired sheet without overwriting
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])

writer.save()

In diesem Code:

  • Wir laden die vorhandene Excel-Datei mit openpyxls load_workbook.
  • Wir erstellen ein Pandas ExcelWriter-Objekt, dessen Parameter „engine“ auf „openpyxl“ gesetzt ist und es mit unserer geladenen Arbeitsmappe verknüpft.
  • Wir füllen das Wörterbuch „writer.sheets“ mit den vorhandenen Blättern, um zu verhindern, dass ExcelWriter ein neues „Main“ erstellt. Blatt.
  • Wir schreiben unsere gewünschten Daten in das „Haupt“-Blatt, ohne andere Abschnitte in der Arbeitsmappe zu überschreiben.
  • Schließlich haben wir Speichern Sie die aktualisierte Arbeitsmappe, um die Änderungen beizubehalten.

Das obige ist der detaillierte Inhalt vonWie kann ich mit 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn