2016-12-28 112 views
1

鑑於以下數據幀: 進口大熊貓作爲PD熊貓據幀到Excel:指數的垂直對齊

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?

提前致謝!

+0

嘗試結構[here](http://xlsxwriter.readthedocs.io/format.html#set_align)。它看起來與你所做的相似,但我對xlsxwriter庫知之甚少,不知道它們是否相同。 – 3novak

回答

3

您正試圖改變標題的格式,所以你應該先重新設置默認的標題設置

pd.core.format.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()