gpt4 book ai didi

python - Pandas DataFrame 到 Excel : Vertical Alignment of Index

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:28 26 4
gpt4 key购买 nike

给定以下数据框:将 pandas 导入为 pd

d=pd.DataFrame({'a':['a','a','b','b'],
'b':['a','b','c','d'],
'c':[1,2,3,4]})
d=d.groupby(['a','b']).sum()
d

enter image description here

我想以与索引相同的对齐方式导出它(看看最左边的列是如何垂直居中的?)。问题在于,将其导出到 Excel 时,左列与每个单元格的顶部对齐:

writer = pd.ExcelWriter('pandas_out.xlsx', engine='xlsxwriter')
workbook = writer.book
f=workbook.add_format({'align': 'vcenter'})
d.to_excel(writer, sheet_name='Sheet1')
writer.save()

...产生...

enter image description here

有没有办法通过 XLSX Writer 或其他库将 A 列垂直居中?

提前致谢!

最佳答案

您正在尝试更改标题的格式,因此您应该首先重置默认标题设置

from pandas.io.formats.excel import ExcelFormatter
ExcelFormatter.header_style = None

然后根据需要应用格式

format = workbook.add_format()
format.set_align('center')
format.set_align('vcenter')

worksheet.set_column('A:C',5, format)

这里是完整的工作代码

d=pd.DataFrame({'a':['a','a','b','b'],
'b':['a','b','c','d'],
'c':[1,2,3,4]})
d=d.groupby(['a','b']).sum()

pd.core.format.header_style = None

writer = pd.ExcelWriter('pandas_out.xlsx', engine='xlsxwriter')
workbook = writer.book
d.to_excel(writer, sheet_name='Sheet1')

worksheet = writer.sheets['Sheet1']

format = workbook.add_format()
format.set_align('center')
format.set_align('vcenter')

worksheet.set_column('A:C',5, format)
writer.save()

关于python - Pandas DataFrame 到 Excel : Vertical Alignment of Index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41364380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com