将数据框与Excel单元格对齐

2024-07-05 14:32:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我注意到Dataframe中的string在Excel中保持左对齐,而numerical的值在Excel中保持右对齐

在将DataFrame导出到Excel时,如何设置所需的对齐方式?示例: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,
    )

Tags: false示例dataframedfstring方式numericalexcel
2条回答

或者更好的方法是set_properties

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

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

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

您可以使用Styler object设置数据帧的样式,它使用与CSS相同的约定。documentation有一本关于数据帧的不同样式的入门书

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

def align_center(x):
    return ['text-align: center' for x in x]

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

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

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

相关问题 更多 >