格式化 ReportLab 表中的第一行

mrg*_*gou 3 python reportlab

我正在构建一个非常基本的函数来将数据框导出到 PDF 表中。在这一点上,只要数据可读,我就不需要任何复杂的格式。在 Internet 上查找其他代码,我几乎要到那里了,只是我看不到如何以粗体显示表格的标题行。

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)
Run Code Online (Sandbox Code Playgroud)

我想要的是第一行中的文本(将在每一页上重复)以粗体显示。我很乐意保持简单的其他任何事情。

谢谢!

R。

mau*_*uve 8

你会想看看这个在第 85 页

grid = [('GRID', (0,0), (-1,-1), 0.25, colors.black), ('FONTNAME', (0,0), (0,-1), 'Courier-Bold')]
Run Code Online (Sandbox Code Playgroud)

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