在ReportLab表格中格式化第一行

4

我正在构建一个非常基本的函数,将数据框导出为PDF表格。目前,只要数据可读,我不需要任何复杂的格式。在互联网上查找其他代码时,我已经接近成功,但我不知道如何将表格的标题行设置为粗体。

import pandas as pd
from reportlab.platypus import *
from reportlab.lib import colors
from reportlab.lib.pagesizes import A4

def df_to_pdf(data, pdf_file): # data is a DataFrame object
    table_data = [data.columns.values.tolist()] + data.values.tolist()
    grid = [('GRID', (0,0), (-1,-1), 0.25, colors.black)]
    pdf_table = Table(data=table_data, repeatRows=1, style=TableStyle(grid))
    doc = SimpleDocTemplate(pdf_file, pagesize=A4)
    element = []
    element.append(pdf_table)
    doc.build(element)

我只希望第一行文本(每个页面都会重复出现)以粗体显示。其它的内容我可以保持简单。

谢谢!

R.

1个回答

12

你应该在第85页查看这个

grid = [('GRID', (0,0), (-1,-1), 0.25, colors.black), ('FONTNAME', (0,0), (0,-1), 'Courier-Bold')]

请查看第28页,查看可用的内置字体列表。


对于第一行,这必须是: ('FONTNAME',(0,0),(-1,0),'Courier-Bold') 目前它影响了第一列。 - IoaTzimas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接