Форматирование первой строки в таблице ReportLab

#python #reportlab

#python #reportlab

Вопрос:

Я создаю очень простую функцию для экспорта фрейма данных в таблицу 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:

Вам захочется взглянуть на это на странице 85

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

Список доступных встроенных шрифтов см. на странице 28.

Комментарии:

1. Для первой строки это должно быть: (‘FONTNAME’, (0,0), (-1,0), ‘ Courier-жирнымшрифтом’) В настоящее время это влияет на первый столбец