我注意到,对于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,
)
发布于 2021-09-23 09:09:45
您可以使用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。
发布于 2021-09-24 04:01:54
或者仅仅使用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文件。
https://stackoverflow.com/questions/69263078
复制相似问题