首页 > 解决方案 > 如何将 pandas DataFrame 转换为 reportlab 模块中的表格?

问题描述

我有下面的数据框:

在此处输入图像描述

问题是,当我尝试使用 a 制作表格时summary_debitDataFrame我会收到以下错误:ValueError: <Table@0x2231B045208 unknown rows x unknown cols>... invalid data type

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)

标签: pythonpandasreportlab

解决方案


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

运行代码后,我得到了正确的 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)

PDF图像导出

pdf导出


推荐阅读