Heim > Artikel > Backend-Entwicklung > Wie füge ich mit Pandas neue Tabellenblätter zu bestehenden Excel-Dateien hinzu?
Hinzufügen neuer Blätter zu vorhandenen Excel-Dateien mit Pandas
Pandas bietet eine praktische Oberfläche für die Arbeit mit Excel-Dateien. Beim Speichern neuer Blätter in einer vorhandenen Datei stoßen Benutzer jedoch häufig auf Herausforderungen. Dieser Artikel befasst sich mit dem Problem und bietet eine umfassende Lösung.
Vorhandener Code:
Der bereitgestellte Code speichert zwei DataFrames in zwei Blättern, fügt jedoch keine weiteren Blätter hinzu, ohne dass die Daten verloren gehen Originaldaten aufgrund des Schließens des ExcelWriter-Objekts.
Bester Ansatz:
Der ideale Arbeitsablauf umfasst das Erstellen einer Excel-Datei, das Speichern einiger Daten, das Schließen des ExcelWriter und das anschließende erneute Öffnen es, um weitere Blätter hinzuzufügen. Dieser Ansatz gewährleistet den Datenerhalt.
Openpyxl-Integration:
Um Blätter ohne Datenverlust anzuhängen, kann Pandas Openpyxl verwenden. Openpyxl ermöglicht die direkte Bearbeitung von Excel-Dateien. Indem wir die vorhandene Datei mit „load_workbook“ laden und sie als ExcelWriter-Buch festlegen, können wir neue Blätter hinzufügen, ohne die vorhandenen zu beeinflussen.
Vollständiges Beispiel:
Hier ist ein vollständiges Beispiel:
<code class="python">import pandas as pd import numpy as np from openpyxl import load_workbook path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx" # Generate initial data x1 = np.random.randn(100, 2) df1 = pd.DataFrame(x1) x2 = np.random.randn(100, 2) df2 = pd.DataFrame(x2) # Write initial sheets writer = pd.ExcelWriter(path, engine='xlsxwriter') df1.to_excel(writer, sheet_name='x1') df2.to_excel(writer, sheet_name='x2') writer.close() # Open existing file and add new sheets book = load_workbook(path) writer = pd.ExcelWriter(path, engine='openpyxl') writer.book = book # Generate new data x3 = np.random.randn(100, 2) df3 = pd.DataFrame(x3) x4 = np.random.randn(100, 2) df4 = pd.DataFrame(x4) # Append new sheets df3.to_excel(writer, sheet_name='x3') df4.to_excel(writer, sheet_name='x4') writer.close()</code>
Dieser Code generiert zunächst zwei Blätter und schließt den ExcelWriter. Anschließend wird die Datei erneut geöffnet und mithilfe von Openpyxl zwei weitere Blätter hinzugefügt, wobei die Originaldaten erhalten bleiben.
Das obige ist der detaillierte Inhalt vonWie füge ich mit Pandas neue Tabellenblätter zu bestehenden Excel-Dateien hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!