我正在使用pandas和xlsxwriter将多个数据框导出并格式化到Excel中。
xlsxwriter文档提到: http://xlsxwriter.readthedocs.io/worksheet.html?highlight=set_column
xlsxwriter文档提到: http://xlsxwriter.readthedocs.io/worksheet.html?highlight=set_column
A row format takes precedence over a default column format
优先级指的是,如果您将B列格式设置为百分比,然后将第2行设置为粗体,单元格B2将不会以粗体和百分比的形式呈现-它只会以粗体的形式呈现,但不包含百分比!
我在下面提供了一个示例。有没有什么方法可以解决这个问题?也许有其他引擎可以使用,而不是xlsxwriter?也许有一些方法可以在将数据框导出到Excel之后应用格式?
无论我是先格式化行还是先格式化列都没有区别。
在下面的示例中没有显示,但在我的代码中,我将许多具有相同列的数据框导出到同一个Excel表格中。这些数据框相当于Excel数据透视表,在底部有一个“总计”行。我希望标题行和总计行都是粗体,并且每个列根据数据具有特定的格式(百分比、千位分隔符、百万等)。以下是示例代码:
import pandas as pd
writer = pd.ExcelWriter('test.xlsx')
wk = writer.book.add_worksheet('Test')
fmt_bold = writer.book.add_format({'bold':True})
fmt_pct = writer.book.add_format({'num_format': '0.0%'})
wk.write(1,1,1)
wk.write(2,1,2)
wk.set_column(1,1, None, fmt_pct)
wk.set_row(1,None, fmt_bold)
writer.close()