如何在 pandas XLSX 导出中居中对齐列

注意:想在导出中对齐所有列?请参见我们的后续文章如何在 pandas XLSX 导出中居中对齐所有列

在 pandas 中导出 DataFrame 时,通常你想居中一列以使结果表格在视觉上更美观。

在这篇文章中,我们将展示如何使用 openpyxl 引擎执行此操作。

如果你想居中列 B,在 pd.ExcelWriter with: 块中添加此代码:

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

完整示例:

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"
    # 导出 DataFrame 内容
    df.to_excel(writer, sheet_name=sheet_name)
    # 居中对齐
    sheet = writer.sheets[sheet_name]
    # 水平对齐列 "B" 中的每个单元格
    for cell in sheet["B"]:
        cell.alignment = Alignment(horizontal="center")

启用居中后表格将如下所示:

列 B 居中对齐的 Pandas XLSX 导出

而禁用居中代码时表格右对齐,只有标题被 Pandas 居中:

默认右对齐列且无居中的 Pandas XLSX 导出


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