Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich mit Pandas neue Tabellenblätter zu bestehenden Excel-Dateien hinzu?

Wie füge ich mit Pandas neue Tabellenblätter zu bestehenden Excel-Dateien hinzu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 11:04:30196Durchsuche

How to Append New Sheets to Existing Excel Files Using Pandas?

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!

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