xlsxwriter没有将格式应用于数据框的标题行 – Python Pandas

我正在尝试使用xlsxwriter从数据框中获取一个数据框并创build一个电子表格

我正在试图做一些格式化到标题行,但似乎在该行上工作的唯一格式是行高。 完全相同的格式选项适用于数据框的其他行。

请参阅下面的代码..

将红色(和高度)应用于除标题行(第2行)之外的所有行 – 将红色应用于第0行和第3行,但只将高度应用于第2行

任何帮助将非常感激

import numpy as np import pandas as pd from pandas.io.data import DataReader from pandas import DataFrame from IPython import display import xlsxwriter WorkBookName="test.xlsx" df3=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata-book/master/ch08/tips.csv", sep=',') writer = pd.ExcelWriter(WorkBookName, engine='xlsxwriter') df3.to_excel(writer, sheet_name="sheet",index=False,startrow=2) workbook = writer.book worksheet = writer.sheets["sheet"] worksheet.write(0,0,"text string") worksheet.write(0,1,"text string") worksheet.write(0,2,"text string") worksheet.write(0,3,"text string") color_format = workbook.add_format({'color': 'red'}) worksheet.set_row(0,50,color_format) worksheet.set_row(2,50,color_format) worksheet.set_row(3,50,color_format) writer.save() display.FileLink(WorkBookName) 

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

 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()