Я создаю динамический код для строк и столбцов с помощью reportlab, чтобы пользователь мог предоставлять информацию для строк и столбцов через входные данные. Теперь моя проблема в том, что я успешно создал динамические заголовки столбцов, но строки не разбиваются по количеству столбцов. Они печатаются в pdf в виде строки без разбивки по заголовкам столбцов. Кто-нибудь знает, как это исправить?
from reportlab.lib import colors
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
import os
doc = SimpleDocTemplate("teda.pdf", pagesize=letter)
# container for the 'Flowable' objects
elements = []
# These are the column widths for the headings on the table
m = int(input("enter the number of column headings: "))
row_array = []
for i in range(0,m):
columnHeading = input("enter col heading")
row_array.append(columnHeading)
tableHeading = [row_array]
tH = Table(tableHeading)
elements.append(tH)
#generating rows for each column
n = int(input("enter the number of rows: "))
row_array = []
# Assemble rows of data for each column
for i in range(0,m):
for j in range(0,n):
columnData = str(input("enter col data"))
row_array.append(columnData)
tableRow = [row_array]
tR=Table(tableRow)
elements.append(tR)
doc.build(elements)
print("writing")
xx = "teda.pdf"
os.startfile(xx)
Я ожидаю таких результатов, как:
TOM CHRIST JERRY VIRAT MARK
2300 435.5 398 2145 543.34
21 32 20 19 26 AND SO ON....
Изменить это
for i in range(0,m):
columnHeading = input("enter col heading")
row_array.append(columnHeading)
tableHeading = [row_array]
tH = Table(tableHeading)
к
for i in range(0,m):
columnHeading = input("enter col heading")
row_array.append([columnHeading]) # Note [ ]
tH = Table(row_array)