Inhaltsverzeichnis
- Warum Spire.XLS für Pandas DataFrame nach Excel verwenden
- Voraussetzungen für Pandas DataFrame nach Excel
- Exportieren eines einzelnen Pandas DataFrame nach Excel mit Formatierung
- Konvertieren mehrerer Pandas DataFrames in eine Excel-Datei
- Schreiben von Pandas DataFrames in eine vorhandene Excel-Datei
- Erweiterte Anpassung für den Export von Pandas DataFrames nach Excel
- Fazit
- Häufig gestellte Fragen
Mit Pypi installieren
pip install pandas spire.xls
Verwandte Links

Die Arbeit mit tabellarischen Daten ist eine häufige Aufgabe für Python-Entwickler, und Pandas ist die bevorzugte Bibliothek für die Datenmanipulation und -analyse. Oft müssen Entwickler Pandas DataFrames zur Berichterstellung, zur Zusammenarbeit im Team oder zur weiteren Datenanalyse nach Excel exportieren. Während Pandas die Funktion to_excel für grundlegende Exporte bereitstellt, kann die Erstellung professioneller Excel-Berichte mit formatierten Kopfzeilen, gestalteten Zellen, mehreren Blättern und Diagrammen eine Herausforderung sein.
Dieses Tutorial zeigt, wie man einen einzelnen DataFrame oder mehrere DataFrames nach Excel schreibt, indem man Spire.XLS for Python verwendet, eine multifunktionale Excel-Bibliothek, die eine vollständige Anpassung von Excel-Dateien direkt aus Python ermöglicht, ohne dass Microsoft Excel installiert sein muss.
Inhaltsverzeichnis
- Warum Spire.XLS für Pandas DataFrame nach Excel verwenden
- Voraussetzungen für Pandas DataFrame nach Excel
- Exportieren eines einzelnen Pandas DataFrame nach Excel mit Formatierung
- Konvertieren mehrerer Pandas DataFrames in eine Excel-Datei
- Schreiben von Pandas DataFrames in eine vorhandene Excel-Datei
- Erweiterte Anpassung für den Export von Pandas DataFrames nach Excel
- Fazit
- Häufig gestellte Fragen
Warum Spire.XLS für Pandas DataFrame nach Excel verwenden
Während Pandas grundlegende Excel-Exportfunktionen bietet, erweitert Spire.XLS diese, indem es die volle Kontrolle über die Erstellung von Excel-Dateien gibt. Anstatt nur Rohdaten zu schreiben, können Entwickler:
- Mehrere DataFrames in separaten Blättern innerhalb einer einzigen Arbeitsmappe organisieren.
- Kopfzeilen, Schriftarten, Farben und Zellformatierungen anpassen, um professionelle Layouts zu erstellen.
- Spalten automatisch anpassen und Zeilenhöhen für eine bessere Lesbarkeit einstellen.
- Diagramme, Formeln und andere Excel-Funktionen direkt aus Python hinzufügen
Voraussetzungen für Pandas DataFrame nach Excel
Bevor Sie einen Pandas DataFrame nach Excel exportieren, stellen Sie sicher, dass Sie die folgenden erforderlichen Bibliotheken installiert haben. Sie können dies tun, indem Sie den folgenden Befehl im Terminal Ihres Projekts ausführen:
pip install pandas spire.xls
Diese Bibliotheken ermöglichen es Ihnen, DataFrames mit mehreren Blättern, benutzerdefinierter Formatierung, ansprechenden Diagrammen und strukturierten Layouts nach Excel zu schreiben.
Exportieren eines einzelnen Pandas DataFrame nach Excel mit Formatierung
Der Export eines einzelnen DataFrame in eine Excel-Datei ist das häufigste Szenario. Mit Spire.XLS können Sie nicht nur Ihren DataFrame exportieren, sondern auch Kopfzeilen formatieren, Zellen gestalten und Diagramme hinzufügen, um Ihren Bericht professionell aussehen zu lassen.
Lassen Sie uns diesen Prozess Schritt für Schritt durchgehen.
Schritt 1: Erstellen Sie einen Beispiel-DataFrame
Zuerst müssen wir einen DataFrame erstellen. Hier haben wir Mitarbeiternamen, Abteilungen und Gehälter. Sie können dies natürlich durch Ihren eigenen Datensatz ersetzen.
import pandas as pd
from spire.xls import *
# Create a simple DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
Schritt 2: Erstellen Sie eine Arbeitsmappe und greifen Sie auf das erste Blatt zu
Jetzt erstellen wir eine neue Excel-Arbeitsmappe und bereiten das erste Arbeitsblatt vor. Geben wir ihm einen aussagekräftigen Namen, damit es leicht verständlich ist.
# Create a new workbook
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Employee Data"
Schritt 3: Spaltenüberschriften schreiben
Wir schreiben die Überschriften in die erste Zeile, machen sie fett und fügen einen hellgrauen Hintergrund hinzu, damit alles ordentlich aussieht.
# Write column headers
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True # Make headers bold
cell.Style.Color = Color.get_LightGray() # Light gray background
Schritt 4: Datenzeilen schreiben
Als Nächstes schreiben wir jede Zeile aus dem DataFrame. Für Zahlen verwenden wir die NumberValue-Eigenschaft, damit Excel sie für Berechnungen und Diagramme erkennen kann.
# Write data rows
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
Schritt 5: Rahmen anwenden und Spalten automatisch anpassen
Um Ihrem Excel-Blatt ein poliertes, tabellenähnliches Aussehen zu verleihen, fügen wir Rahmen hinzu und passen die Spaltenbreiten automatisch an.
# Apply borders and auto-fit columns
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
usedRange.AutoFitColumns()
Schritt 6: Fügen Sie ein Diagramm zur Visualisierung von Daten hinzu
Diagramme helfen Ihnen, Trends schnell zu verstehen. Hier erstellen wir ein Säulendiagramm zum Vergleich der Gehälter.
# Add a chart
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.ColumnClustered
chart.DataRange = sheet.Range["A1:C4"] # Data range for chart
chart.SeriesDataFromRange = False
chart.LeftColumn = 5 # Chart position
chart.TopRow = 1
chart.RightColumn = 10
chart.BottomRow = 16
chart.ChartTitle = "Employee Salary Comparison"
chart.ChartTitleArea.Font.Size = 12
chart.ChartTitleArea.Font.IsBold = True
Schritt 7: Speichern der Arbeitsmappe
Speichern Sie abschließend die Arbeitsmappe an Ihrem gewünschten Ort.
# Save the Excel file
workbook.SaveToFile("DataFrameWithChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Ergebnis:
Die aus dem Pandas DataFrame generierte Excel-XLSX-Datei sieht so aus:

Sobald die Excel-Datei generiert ist, kann sie weiterverarbeitet werden, z. B. in PDF konvertiert werden, um sie einfach zu teilen:
workbook.SaveToFile("ToPdf.pdf", FileFormat.PDF)
Weitere Einzelheiten finden Sie in der Anleitung zum Konvertieren von Excel in PDF in Python.
Konvertieren mehrerer Pandas DataFrames in eine Excel-Datei
Bei der Erstellung von Excel-Berichten müssen oft mehrere Datensätze auf separaten Blättern platziert werden. Mit Spire.XLS kann jeder Pandas DataFrame in sein eigenes Arbeitsblatt geschrieben werden, um sicherzustellen, dass zusammengehörige Daten klar organisiert und leicht zu analysieren sind. Die folgenden Schritte demonstrieren diesen Arbeitsablauf.
Schritt 1: Erstellen Sie mehrere Beispiel-DataFrames
Vor dem Exportieren erstellen wir zwei separate DataFrames - einen für Mitarbeiterinformationen und einen anderen für Produkte. Jeder DataFrame wird in sein eigenes Excel-Blatt eingefügt.
import pandas as pd
from spire.xls import *
# Sample DataFrames
df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Product': ['Laptop', 'Phone'], 'Price': [1000, 500]})
# List of DataFrames with corresponding sheet names
dataframes = [
(df1, "Employees"),
(df2, "Products")
]
Hier ist dataframes eine Liste von Tupeln, die jeden DataFrame mit dem Namen des Blattes paart, in dem er erscheinen soll.
Schritt 2: Erstellen Sie eine neue Arbeitsmappe
Als Nächstes erstellen wir eine neue Excel-Arbeitsmappe, um alle DataFrames zu speichern.
# Create a new workbook
workbook = Workbook()
Dadurch wird eine leere Arbeitsmappe mit drei Standardblättern initialisiert. Wir werden sie im nächsten Schritt umbenennen und füllen.
Schritt 3: Durchlaufen Sie jeden DataFrame und schreiben Sie ihn in sein eigenes Blatt
Anstatt jeden DataFrame einzeln zu schreiben, können wir unsere Liste durchlaufen und sie auf die gleiche Weise verarbeiten. Dies reduziert doppelten Code und erleichtert die Handhabung von mehr Datensätzen.
for i, (df, sheet_name) in enumerate(dataframes):
# Get or create a sheet
if i < workbook.Worksheets.Count:
sheet = workbook.Worksheets[i]
else:
sheet = workbook.Worksheets.Add()
sheet.Name = sheet_name
# Write headers with bold font and background color
for colIndex, colName in enumerate(df.columns, start=1):
cell = sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
sheet.Columns[colIndex - 1].ColumnWidth = 15 # Set fixed column width
# Write rows of data
for rowIndex, row in enumerate(df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Apply thin borders around the used range
usedRange = sheet.AllocatedRange
usedRange.BorderAround(LineStyleType.Thin, Color.get_Black()) # Outside borders
usedRange.BorderInside(LineStyleType.Thin, Color.get_Black()) # Inside borders
Mit dieser Schleife können wir in Zukunft problemlos weitere DataFrames hinzufügen, ohne denselben Code neu schreiben zu müssen.
Schritt 4: Speichern der Arbeitsmappe
Schließlich speichern wir die Excel-Datei. Beide Datensätze sind jetzt ordentlich in einer Datei mit separaten Blättern, formatierten Kopfzeilen und korrekten Rahmen organisiert.
# Save the workbook
workbook.SaveToFile("MultipleDataFrames.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Jetzt ist Ihre Excel-Datei bereit, geteilt oder weiter analysiert zu werden.
Ergebnis:

Die Datei MultipleDataFrames.xlsx enthält zwei Blätter:
- Mitarbeiter (mit Namen und Alter)
- Produkte (mit Produktdetails und Preisen)
Diese Organisation macht Excel-Dateien mit mehreren Berichten sauber und einfach zu navigieren.
Schreiben von Pandas DataFrames in eine vorhandene Excel-Datei
In einigen Fällen müssen Sie möglicherweise DataFrames in eine vorhandene Arbeitsmappe schreiben, anstatt eine neue Excel-Datei zu erstellen. Dies kann einfach erreicht werden, indem Sie die vorhandene Arbeitsmappe laden, ein neues Blatt hinzufügen oder auf das gewünschte Blatt zugreifen und die DataFrame-Daten mit derselben Logik schreiben.
Der folgende Code zeigt, wie man einen Pandas DataFrame in eine vorhandene Excel-Datei schreibt:
import pandas as pd
from spire.xls import *
# Load an existing Excel file
workbook = Workbook()
workbook.LoadFromFile("MultipleDataFrames.xlsx")
# Create a new DataFrame to add
new_df = pd.DataFrame({
'Region': ['North', 'South', 'East', 'West'],
'Sales': [12000, 15000, 13000, 11000]
})
# Add a new worksheet for the new DataFrame
new_sheet = workbook.Worksheets.Add("Regional Sales")
# Write headers
for colIndex, colName in enumerate(new_df.columns, start=1):
cell = new_sheet.Range[1, colIndex]
cell.Text = colName
cell.Style.Font.IsBold = True
cell.Style.Color = Color.get_LightGray()
new_sheet.Columns[colIndex - 1].ColumnWidth = 15
# Write data rows
for rowIndex, row in enumerate(new_df.values, start=2):
for colIndex, value in enumerate(row, start=1):
cell = new_sheet.Range[rowIndex, colIndex]
if isinstance(value, (int, float)):
cell.NumberValue = value
else:
cell.Text = str(value)
# Save the changes
workbook.SaveToFile("DataFrameToExistingWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Erweiterte Anpassung für den Export von Pandas DataFrames nach Excel
Über grundlegende Exporte hinaus können Pandas DataFrames in Excel angepasst werden, um spezifische Berichtsanforderungen zu erfüllen. Erweiterte Optionen �?wie die Auswahl bestimmter Spalten und das Ein- oder Ausschließen des Index �?ermöglichen es Ihnen, sauberere, besser lesbare und professionellere Excel-Dateien zu erstellen. Die folgenden Beispiele zeigen, wie diese Anpassungen angewendet werden.
1. Bestimmte Spalten auswählen
Manchmal müssen Sie möglicherweise nicht alle Spalten aus einem DataFrame exportieren. Indem Sie nur die relevanten Spalten auswählen, können Sie Ihre Excel-Berichte prägnant und fokussiert halten. Der folgende Code zeigt, wie Sie beim Schreiben von Kopf- und Datenzeilen durch ausgewählte Spalten iterieren:
import pandas as pd
from spire.xls import *
# Create a DataFrame
df = pd.DataFrame({
'Employee': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Finance', 'IT'],
'Salary': [5000, 6000, 7000]
})
# Set the columns to export
columns_to_export = ['Employee', 'Department']
# Create a new workbook and access the first sheet
workbook = Workbook()
sheet = workbook.Worksheets[0]
# Write headers
for colIndex, colName in enumerate(columns_to_export, start=1):
sheet.Range[1, colIndex].Text = colName
# Write rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=1):
sheet.Range[rowIndex, colIndex].Text = value
# Save the Excel file
workbook.SaveToFile("select_columns.xlsx")
workbook.Dispose()
2. Index ein- oder ausschließen
Standardmäßig wird der DataFrame-Index nicht in den Export einbezogen. Wenn Ihr Bericht Zeilenkennungen oder numerische Indizes erfordert, können Sie diese manuell hinzufügen. Dieses Code-Snippet zeigt, wie Sie den Index neben ausgewählten Spalten einfügen:
# Write header for index
sheet.Range[1, 1].Text = "Index"
# Write index values (numeric)
for rowIndex, idx in enumerate(df.index, start=2):
sheet.Range[rowIndex, 1].NumberValue = idx # Use NumberValue for numeric
# Write headers for other columns
for colIndex, colName in enumerate(columns_to_export, start=2):
sheet.Range[1, colIndex].Text = colName
# Write the data rows
for rowIndex, row in enumerate(df[columns_to_export].values, start=2):
for colIndex, value in enumerate(row, start=2):
if isinstance(value, (int, float)):
sheet.Range[rowIndex, colIndex].NumberValue = value
else:
sheet.Range[rowIndex, colIndex].Text = str(value)
# Save the workbook
workbook.SaveToFile("include_index.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Fazit
Das Exportieren eines Pandas DataFrame nach Excel ist einfach, aber die Erstellung professioneller, gut formatierter Berichte erfordert zusätzliche Kontrolle. Durch die Verwendung von Pandas zur Datenvorbereitung und Spire.XLS for Python zum Erstellen und Formatieren von Excel-Dateien können Sie strukturierte, lesbare und visuell organisierte Arbeitsmappen erstellen. Dieser Ansatz funktioniert sowohl für einzelne DataFrames als auch für mehrere Datensätze und erleichtert die Erstellung von Excel-Berichten, die für die Analyse, den Austausch oder die weitere Bearbeitung bereit sind.
Häufig gestellte Fragen
F1: Wie kann ich einen Pandas DataFrame in Python nach Excel exportieren?
A1: Sie können Bibliotheken wie Spire.XLS verwenden, um einen DataFrame in eine Excel-Datei zu schreiben. Dies ermöglicht es Ihnen, tabellarische Daten von Python nach Excel zu übertragen und dabei die Kontrolle über Formatierung und Layout zu behalten.
F2: Kann ich mehr als einen DataFrame in eine einzelne Excel-Datei exportieren?
A2: Ja. Mehrere DataFrames können in separate Blätter innerhalb derselben Arbeitsmappe geschrieben werden. Dies hilft, zusammengehörige Datensätze in einer Datei organisiert zu halten.
F3: Wie füge ich Kopfzeilen hinzu und formatiere Zellen in Excel aus einem DataFrame?
A3: Kopfzeilen können fett, farbig oder mit fester Breite formatiert werden. Numerische Werte können als Zahlen und Text als Zeichenfolgen gespeichert werden. Die Formatierung verbessert die Lesbarkeit von Berichten.
F4: Ist es möglich, Diagramme in die exportierte Excel-Datei aufzunehmen?
A4: Ja. Diagramme wie Säulen- oder Liniendiagramme können basierend auf Ihren DataFrame-Daten hinzugefügt werden, um Trends oder Vergleiche zu visualisieren.
F5: Benötige ich eine installierte Microsoft Excel-Version, um DataFrames zu exportieren?
A5: Nicht unbedingt. Einige Bibliotheken, einschließlich Spire.XLS, können Excel-Dateien vollständig in Python erstellen und formatieren, ohne dass Excel installiert sein muss.