Python 如何在reportlab模块中将数据帧转换为表?

Python 如何在reportlab模块中将数据帧转换为表?,python,pandas,reportlab,Python,Pandas,Reportlab,我的数据框架如下: 问题是,当我试图用summary\u debit这一DataFrame制作一个表时,我会得到以下错误:ValueError:。。。无效的数据类型 from reportlab.pdfgen import canvas from reportlab.platypus import * from reportlab.lib import colors colwidths = 50 GRID_STYLE = TableStyle( [('GRID', (

我的数据框架如下:

问题是,当我试图用
summary\u debit
这一
DataFrame
制作一个表时,我会得到以下错误:
ValueError:。。。无效的数据类型

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)

我为您的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图像导出


数据框列名将不显示。如何在表格中显示标题?