Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Pandas-Daten an eine vorhandene Excel-Datei anhängen, ohne vorhandene Tabellenblätter zu überschreiben?

Wie kann ich Pandas-Daten an eine vorhandene Excel-Datei anhängen, ohne vorhandene Tabellenblätter zu überschreiben?

Linda Hamilton
Freigeben: 2024-12-11 11:09:11
Original
941 Leute haben es durchsucht

How Can I Append Pandas Data to an Existing Excel File Without Overwriting Existing Sheets?

Pandas-Daten in vorhandenen Excel-Dateien mit Openpyxl speichern

Beim Arbeiten mit vorhandenen Excel-Dateien ist es wichtig, das Überschreiben von Daten zu vermeiden. In Pandas kann dieses Problem auftreten, wenn Sie mit der to_excel()-Methode in eine vorhandene Datei schreiben.

Problem

Der folgende Code versucht, einen DataFrame in ein bestimmtes Blatt in einem vorhandenen Excel zu schreiben Datei:

import pandas

writer = pandas.ExcelWriter('Masterfile.xlsx')

data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])

writer.save()
Nach dem Login kopieren

Das Problem entsteht, weil Pandas alle anderen Blätter in der Datei löscht und nur das neu erstellte Blatt mit dem Namen übrig bleibt „Main.“

Lösung

Um dieses Problem zu beheben, können wir die openpyxl-Bibliothek nutzen, die Pandas intern für die Verarbeitung von XLSX-Dateien verwendet. Indem wir die vorhandene Arbeitsmappe mit openpyxl.load_workbook() laden und sie dem ExcelWriter-Objekt zuweisen, können wir das Blattwörterbuch ändern, um sicherzustellen, dass die vorhandenen Blätter erhalten bleiben.

Hier ist der geänderte Code:

import pandas
from openpyxl import load_workbook

book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book

# Assign the sheet dictionary to preserve existing sheets
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])

writer.save()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Pandas-Daten an eine vorhandene Excel-Datei anhängen, ohne vorhandene Tabellenblätter 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