Heim >Backend-Entwicklung >Python-Tutorial >Wie füge ich in Pandas neue Blätter zu einer vorhandenen Excel-Datei hinzu, ohne sie zu überschreiben?

Wie füge ich in Pandas neue Blätter zu einer vorhandenen Excel-Datei hinzu, ohne sie zu überschreiben?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 02:49:29336Durchsuche

How to Add New Sheets to an Existing Excel File Without Overwriting in Pandas?

So behalten Sie vorhandene Excel-Tabellen bei, während Sie neue hinzufügen

In Pandas stellt das Speichern neuer Tabellen in einer vorhandenen Excel-Datei eine Herausforderung bei der Beibehaltung dar der ursprüngliche Inhalt. Um dieses Problem zu lösen, werden wir eine effektive Methode mit „openpyxl“ erkunden.

Das Problem

Das Standardverhalten von Pandas besteht darin, vorhandene Blätter zu überschreiben, wenn neue hinzugefügt werden. Dies kann zu Datenverlust führen, wenn wir beabsichtigen, neue Daten an eine vorhandene Datei anzuhängen.

Lösung mit „openpyxl“

„openpyxl“ bietet eine Möglichkeit, mit vorhandenen Daten umzugehen Arbeitsmappen ohne Überschreiben. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Vorhandene Arbeitsmappe laden:Vorhandene Excel-Datei mit „load_workbook()“ laden.
  2. ExcelWriter erstellen: Erstellen Sie ein ExcelWriter-Objekt mit der Engine „openpyxl“ und geben Sie denselben Pfad wie die vorhandene Datei an.
  3. Verknüpfen Sie Writer und Arbeitsmappe: Setzen Sie das Buchattribut des Writers auf „Geladen“. Arbeitsmappe, um sie zu verbinden.
  4. Neue Blätter schreiben: Hängen Sie neue Blätter an die vorhandene Arbeitsmappe an, indem Sie in jedem DataFrame die Methode to_excel() aufrufen und entsprechende Blattnamen angeben.
  5. Schließen Sie den Writer: Sobald alle Blätter hinzugefügt wurden, schließen Sie den ExcelWriter, um die Änderungen zu speichern.

Beispiel:

Hier ist ein Beispiel Code zur Veranschaulichung des Prozesses:

<code class="python">import pandas as pd
from openpyxl import load_workbook

# Load existing workbook
book = load_workbook('existing.xlsx')

# Create ExcelWriter and associate it with the workbook
writer = pd.ExcelWriter('existing.xlsx', engine='openpyxl')
writer.book = book

# Append new sheets
new_df1 = pd.DataFrame({'x': [1, 2, 3]})
new_df2 = pd.DataFrame({'y': [4, 5, 6]})

new_df1.to_excel(writer, sheet_name='NewSheet1')
new_df2.to_excel(writer, sheet_name='NewSheet2')

# Save changes
writer.close()</code>

In diesem Beispiel behält der Code die vorhandenen Blätter in „existing.xlsx“ bei und fügt zwei neue Blätter hinzu, „NewSheet1“ und „NewSheet2“.

Das obige ist der detaillierte Inhalt vonWie füge ich in Pandas neue Blätter zu einer vorhandenen Excel-Datei hinzu, 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