Необходимо выровнять две выходные таблицы рядом на одной странице PDF, используя библиотеку отчетов
Я создал две выходные таблицы от разработчика Oracle Sql с помощью библиотеки cx_Oracle и экспортировал таблицы в одну страницу PDF, используяпакет reportlab
# Importing packages
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import *
from reportlab.lib import colors
import pandas as pd
from reportlab.lib.pagesizes import letter, A3, inch
# Creating a sample doc and setting up the path
PATH_OUT = (r"directory_path")
elements = []
styles = getSampleStyleSheet()
doc = SimpleDocTemplate(PATH_OUT + 'Report_File.pdf', pagesize = A3)
elements.append(Paragraph("Report_name", styles['Title']))
# Importing numpy for converting df to list to avoid data type errors
import numpy as np
t1 = Table(np.array(data_test).tolist())
t2 = Table(np.array(data_test1).tolist())
# Creating data styling for two tables
t1.setStyle(TableStyle([('ALIGN', (1,1), (-1,-1), 'CENTER'),
('FONT', (0,0), (-1,0), 'Times-Bold'),
('FONT', (0,-1), (-1,-1),'Times-Bold'),
('TEXTCOLOR',(0,0),(1,-1),colors.black),
('TEXTCOLOR',(0,0),(-1,0),colors.white),
('GRID', (0,0), (-1,-1), 0.50, colors.grey),
('LINEABOVE', (0, -1), (-1,-1), 2, colors.grey),
('LINEBELOW',(1,-1), (-1, -1), 2, (0.5, 0.5, 0.5)),
t2.setStyle(TableStyle([('ALIGN', (1,1), (-2,-2), 'CENTER'),
('FONT', (0,0), (-1,0), 'Times-Bold'),
('FONT', (0,-1), (-1,-1),'Times-Bold'),
('TEXTCOLOR',(0,0),(1,-1),colors.black),
('TEXTCOLOR',(0,0),(-1,0),colors.white),
('GRID', (0,0), (-1,-1), 0.50, colors.grey),
('LINEABOVE', (0, -1), (-1,-1), 2, colors.grey),
('LINEBELOW',(1,-1), (-1, -1), 2, (0.5, 0.5, 0.5)),
('BACKGROUND',(0,0),(-1,0),colors.HexColor("#f24dae")),]))
# Appending two tables in a single page
elements.append(t1)
elements.append(t2)
doc.build(elements)
Фактические выходные таблицы выровнены одна над другой, но желаемый выходной сигнал должен иметь некоторый разрыв между таблицами и должен быть выровнен рядом на одной странице PDF
Яработа над чувствительной ко времени частью, поэтому более быстрая реакция будет высоко оценена:)