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)
您可以使用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 文档。
或者甚至更好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-align为center。然后使用上下文管理器实例(with语句),它可以写入Excel文件。