【发布时间】:2017-10-13 18:02:15
【问题描述】:
我正在使用 pandas 和 xlsxwriter 将一些数据帧导出并格式化为 Excel。
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()
【问题讨论】:
标签: python pandas export-to-excel openpyxl xlsxwriter