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

Linda Hamilton
Freigeben: 2024-11-03 04:12:03
Original
861 Leute haben es durchsucht

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

Neue Blätter in einer vorhandenen Excel-Datei mit Pandas speichern

Das Ziel besteht darin, mehrere Blätter in eine vorhandene Excel-Datei zu schreiben, ohne die vorhandene zu überschreiben Daten.

Originalcode:

Der bereitgestellte Code speichert zwei DataFrames in zwei Blättern in einer Excel-Datei mithilfe der „xlsxwriter“-Engine. Der Versuch, neue Blätter hinzuzufügen, führt jedoch zum Verlust der Originaldaten.

Verwendung der „openpyxl“-Engine:

Um vorhandene Daten beizubehalten, verwenden Sie „openpyxl“. Motor. Der folgende Code zeigt, wie das geht:

import pandas as pd
import numpy as np
from openpyxl import load_workbook

path = r"C:UsersfedelDesktopexcelDataPhD_data .xlsx"

Excel-Datei mit Anfangsblättern erstellen

x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)

x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)

writer = pd.ExcelWriter(path, engine='xlsxwriter')
df1.to_excel (writer, sheet_name='x1')
df2.to_excel(writer, sheet_name='x2')
writer.close()

Laden Sie die Arbeitsmappe und hängen Sie sie an den Writer an

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

Neue Blätter und DataFrames hinzufügen

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()

Den Code verstehen:

  • load_workbook lädt die vorhandene Excel-Datei.
  • Hängen Sie die geladene Arbeitsmappe mit dem Writer an das Writer-Objekt an .book = book.
  • Fügen Sie neue Blätter und DataFrames wie vor der Verwendung von to_excel hinzu.
  • Schließen Sie den Writer, um die Änderungen zu speichern.

Der Code durchläuft die Arbeitsblätter in einer Schleife in der Arbeitsmappe und weist sie einem Wörterbuch zu, wobei der Schlüssel der Blatttitel und der Wert das Blattobjekt ist. Dadurch kann der Autor neue Blätter und Daten an die vorhandene Datei anhängen, ohne vorhandene Blätter zu überschreiben.

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