如何将pandas DataFrame转换为reportlab模块中的表?

问题描述 投票:-1回答:2

我有以下DataFrame:

enter image description here

问题是,当我尝试用summary_debit制作表格时,我会得到以下错误:DataFrame

ValueError: <Table@0x2231B045208 unknown rows x unknown cols>... invalid data type
python pandas reportlab
2个回答
5
投票

我为您的DataFrame图像构建了一个示例,但您可以扩展它。

运行代码后,我得到了一个合适的pdf。

我希望这段代码可以帮到你。

from reportlab.pdfgen import canvas
from reportlab.platypus import *
from reportlab.lib import colors

colwidths = 50
GRID_STYLE = TableStyle(
            [('GRID', (0, 0), (-1, -1), 0.25, colors.pink),
            ('ALIGN', (1, 0), (-1, -1), 'RIGHT')])

t1 = Table(summary_debit)

PDF图像导出

from reportlab.pdfgen import canvas from reportlab.platypus import * from reportlab.lib import colors from reportlab.lib.pagesizes import letter import pandas as pd import numpy as np data = {'Account Name': ['ACCOUNT PAYABLE', 'PAGIBIG LOAN PAYABLE','PREPAID TAX'] ,'': [-0.1, -0.2,-0.3]} summary_debit = pd.DataFrame(data=data) colwidths = 50 GRID_STYLE = TableStyle( [('GRID', (0, 0), (-1, -1), 0.25, colors.pink), ('ALIGN', (1, 0), (-1, -1), 'RIGHT')]) #t1 = Table([summary_debit.iloc[:,1].tolist(),summary_debit.iloc[:,0].tolist()]); t1 = Table(np.array(summary_debit).tolist()); doc = SimpleDocTemplate("table.pdf", pagesize=letter) element = [] element.append(t1) doc.build(element)


0
投票

(没有足够的声誉来评论Miffy的问题)

要在表中显示数据框列名,您只需执行以下操作:

pdf export
© www.soinside.com 2019 - 2024. All rights reserved.