gpt4 book ai didi

python - 如何以列而不是行的形式显示表格中的数据?

转载 作者:行者123 更新时间:2023-11-30 23:10:15 24 4
gpt4 key购买 nike

我正在使用 Reportlab 生成 pdf。如何以列而不是行的形式显示表格中的数据?

当前输出:

enter image description here

预期输出:

enter image description here

因此数据应该按列显示,而不是按行显示。

这是我的代码:

# -*- coding: utf-8 -*-
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, landscape
from reportlab.platypus.tables import TableStyle, Table
from reportlab.pdfbase import pdfmetrics
from reportlab.platypus.paragraph import Paragraph
from reportlab.lib import styles
from reportlab.lib import colors

canv = canvas.Canvas('plik.pdf', pagesize=landscape(A4))
width, height = landscape(A4) # keep for later

canv.setFillColorRGB(0, 0, 0.50)
canv.line(40, height - 60, width - 40, height - 60)

stylesheet = styles.getSampleStyleSheet()
normalStyle = stylesheet['Normal']

P = Paragraph('''<font color=red>brak</font>''', normalStyle)

data = [
['1', 'Test1', 'Description1'],
['2', 'Test2', 'Description2'],
['3', 'Test3', 'Description3'],
]

t = Table(data, rowHeights=35, repeatCols=1)

t.setStyle(TableStyle([
('ALIGN', (0, 0), (-1, -1), 'LEFT'),
('ALIGN', (-2, 1), (-2, -1), 'RIGHT'),
('GRID', (0, 0), (-1, -1), 0.25, colors.black),
('BOX', (0, 0), (-1, -1), 0.25, colors.black),
('INNERGRID', (0, 0), (-1, -1), 0.25, colors.black),

]))

t.wrapOn(canv, width - 250, height)
w, h = t.wrap(100, 100)
t.drawOn(canv, 284, height - (h + 90), 0)

canv.showPage()
canv.save()

最佳答案

您可以转置您的数据:

t = Table(zip(*data), rowHeights=35, repeatCols=1)

这将符合您的预期输出:

enter image description here

关于python - 如何以列而不是行的形式显示表格中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30777364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com