Spalte im pandas-XLSX-Export zentrieren

English Deutsch

Hinweis: Sollen alle Spalten im Export zentriert werden? Siehe unseren Folgebeitrag Alle Spalten im pandas-XLSX-Export zentrieren

Beim Exportieren eines DataFrame in pandas soll oft eine Spalte zentriert werden, um die resultierende Tabelle optisch ansprechender zu gestalten.

In diesem Beitrag zeigen wir, wie dies mit der openpyxl-Engine gemacht wird.

Wenn Spalte B zentriert werden soll, diesen Code innerhalb des pd.ExcelWriter-with:-Blocks hinzufügen:

center_align_column.py
for cell in sheet["B"]:
    cell.alignment = Alignment(horizontal="center")

Vollständiges Beispiel:

center_align_full_example.py
import pandas as pd
from openpyxl.styles.alignment import Alignment

df = pd.DataFrame([
    {"a": 1.0},
    {"a": 2.0},
    {"a": 3.0},
    {"a": 4.0},
    {"a": 5.0},
])
with pd.ExcelWriter("out.xlsx", engine="openpyxl") as writer:
    sheet_name = "Bool"
    # Export DataFrame content
    df.to_excel(writer, sheet_name=sheet_name)
    # Align to center
    sheet = writer.sheets[sheet_name]
    # Align every cell in column "B" horizontally
    for cell in sheet["B"]:
        cell.alignment = Alignment(horizontal="center")

Die Tabelle sieht mit aktivierter Zentrierung so aus:

pandas-XLSX-Export mit zentrierter Spalte B

während die Tabelle mit deaktiviertem Zentrierungscode rechtsbündig ist und nur der Titel von Pandas zentriert wird:

pandas-XLSX-Export mit standardmäßig rechtsbündiger Spalte und ohne Zentrierung


Check out similar posts by category: OpenPyXL, Pandas, Python