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

Mary-Kate Olsen
Freigeben: 2024-11-04 11:04:30
Original
195 Leute haben es durchsucht

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!