我使用xlsxwriter將pandas DataFrame保存爲_excel。我已經設法格式化所有數據(設置列寬,字體大小等),除了更改標題的字體,我找不到方法來做到這一點。這裏是我的例子:pandas xlsxwriter,格式標題
import pandas as pd
data = pd.DataFrame({'test_data': [1,2,3,4,5]})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
data.to_excel(writer, sheet_name='test', index=False)
workbook = writer.book
worksheet = writer.sheets['test']
font_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10})
header_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10, 'bold': True})
worksheet.set_column('A:A', None, font_fmt)
worksheet.set_row(0, None, header_fmt)
writer.save()
嘗試設置標頭格式的倒數第二行什麼也不做。
很好的解決方法。只是一些背景來解釋爲什麼這個工程。在Excel中,單元格格式覆蓋行格式將覆蓋列格式。「pd.core.format.header_style」轉換爲格式並應用於標題中的每個單元格。因此,'set_row()'不能覆蓋默認值。將'pd.core.format.header_style'設置爲'None'意味着標題單元格沒有用戶定義的格式,因此格式可以被覆蓋。 – jmcnamara
它看起來像在pandas 0.18.1中移動了'pd。 core.format'到'pd.formats'模塊,所以現在應該寫'pd.formats.format.header_style = None'。 – krvkir
@krvkir - 謝謝,我添加您的評論來回答。 – jezrael