Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mit Pandas neue Blätter zu einer vorhandenen Excel-Datei hinzufügen, ohne vorhandene Daten zu überschreiben?

Wie kann ich mit Pandas neue Blätter zu einer vorhandenen Excel-Datei hinzufügen, ohne vorhandene Daten zu überschreiben?

Linda Hamilton
Freigeben: 2024-11-02 23:33:29
Original
1116 Leute haben es durchsucht

How Can I Add New Sheets to an Existing Excel File Using Pandas Without Overwriting Existing Data?

Neue Tabellen in vorhandenen Excel-Dateien mit Pandas speichern

Sie möchten mit Python verarbeitete Daten in Excel-Tabellen speichern, stoßen jedoch beim Hinzufügen neuer Tabellen auf Schwierigkeiten auf bestehende Dateien. Der bereitgestellte Code wirft Bedenken hinsichtlich des Überschreibens von Originaldaten auf.

Hintergrund

Um neue Excel-Tabellen zu erstellen und bestehende beizubehalten, stehen zwei Optionen zur Verfügung:

xlsxwriter

Der Code verwendet „xlsxwriter“ als Engine zum Erstellen und Speichern einer Excel-Datei. Durch das Hinzufügen weiterer Blätter zur gleichen Datei werden jedoch die vorherigen überschrieben.

openpyxl

Um dieses Problem zu lösen, kann „openpyxl“ als Engine verwendet werden. Es ermöglicht das Anhängen neuer Blätter, ohne dass vorhandene Daten verloren gehen.

Implementierung mit openpyxl

  1. Laden Sie die vorhandene Excel-Datei mit „load_workbook“.
  2. Erstellen Sie ein ExcelWriter-Objekt mit „openpyxl“ als Engine.
  3. Weisen Sie die geladene Arbeitsmappe dem „Book“-Attribut des ExcelWriter zu.
  4. Schreiben Sie die neuen DataFrames in die gewünschten Blätter.
  5. Schließen Sie den ExcelWriter, um die Änderungen zu speichern.
<code class="python">path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"

book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book

x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)

x4 = np.random.randn(100, 2)
df4 = pd.DataFrame(x4)

df3.to_excel(writer, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')
writer.close()</code>
Nach dem Login kopieren

Den Code verstehen

  • ws.title stellt den dar Blatttitel jedes Arbeitsblatts in der geladenen Arbeitsmappe.
  • ws stellt jedes Arbeitsblattobjekt dar.
  • dict wird verwendet, um ein Wörterbuch zu erstellen, in dem jeder Schlüssel enthalten ist ist ein Blatttitel und der entsprechende Wert ist das Arbeitsblattobjekt.

Beispiel

Das bereitgestellte Beispiel zeigt, wie eine Excel-Datei generiert und dann zwei weitere angehängt werden Blätter ohne Verlust der Originaldaten.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Pandas neue Blätter zu einer vorhandenen Excel-Datei hinzufügen, ohne vorhandene Daten zu überschreiben?. 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