Pandas DataFrame 到 Excel 单元格对齐

Ray*_*Toh 9 python excel dataframe pandas

我注意到 for stringinDataframe将在 Excel 中保持左对齐,而 for numericalvalue 将在 Excel 中保持右对齐。

导出到 Excel 时,我们如何设置所需的对齐方式DataFrame?例子:Center Alignment

df = pd.DataFrame({"colname1": ["a","b","c","d"], "colname2": [1,2,3,4]})

with pd.ExcelWriter("test.xlsx") as writer:
    df.to_excel(
        writer,
        index=False,
        header=False,
    )
Run Code Online (Sandbox Code Playgroud)

vta*_*sca 8

您可以使用Styler 对象设置数据框的样式,该对象使用与 CSS 相同的约定。该文档对数据框样式的不同方式提供了很好的入门知识。

对于示例的简单解决方案,您可以通过首先创建一个函数来设置所需的对齐方式:

def align_center(x):
    return ['text-align: center' for x in x]
Run Code Online (Sandbox Code Playgroud)

然后将其写入 Excel,同时应用您刚刚定义的函数:

with pd.ExcelWriter("test.xlsx") as writer:
    df.style.apply(align_center, axis=0).to_excel(
        writer,
        index=False,
        header=False
    )
Run Code Online (Sandbox Code Playgroud)

这将使 Excel 文件中的单元格居中对齐。对于可用文本对齐选项的详尽列表,我建议MDN 文档


U10*_*ard 5

或者甚至更好set_properties

with pd.ExcelWriter("test.xlsx") as writer:
    df.style.set_properties(**{'text-align': 'center'}).to_excel(
        writer,
        index=False,
        header=False,
    )
Run Code Online (Sandbox Code Playgroud)

这会将所有文本对齐到中心。

这将起作用,因为它将属性设置text-aligncenter。然后使用上下文管理器实例(with语句),它可以写入Excel文件。