[python] ReportLab 데이터 테이블 생성

ReportLab은 파이썬에서 PDF 문서를 생성하기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하여 데이터 테이블을 생성하는 방법을 알아보겠습니다.

필요한 패키지 설치

먼저 ReportLab을 설치해야 합니다. 다음 명령을 사용하여 필요한 패키지를 설치할 수 있습니다.

pip install reportlab

데이터 테이블 생성하기

다음은 ReportLab을 사용하여 데이터 테이블을 생성하는 간단한 예제 코드입니다.

from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
from reportlab.lib import colors

def create_table(data):
    doc = SimpleDocTemplate("table.pdf", pagesize=letter)
    elements = []
    table = Table(data)

    # 테이블 스타일 설정
    style = TableStyle([
        ('BACKGROUND', (0, 0), (-1, 0), colors.grey),
        ('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke),
        ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
        ('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
        ('FONTSIZE', (0, 0), (-1, 0), 14),
        ('BOTTOMPADDING', (0, 0), (-1, 0), 12),
        ('BACKGROUND', (0, 1), (-1, -1), colors.beige),
        ('TEXTCOLOR', (0, 1), (-1, -1), colors.black),
        ('ALIGN', (0, 1), (-1, -1), 'CENTER'),
        ('FONTNAME', (0, 1), (-1, -1), 'Helvetica'),
        ('FONTSIZE', (0, 1), (-1, -1), 12),
        ('BOTTOMPADDING', (0, 1), (-1, -1), 6),
    ])

    table.setStyle(style)
    elements.append(table)

    doc.build(elements)

# 데이터 예시
data = [
    ["이름", "나이", "성별"],
    ["홍길동", 30, "남성"],
    ["장길산", 45, "남성"],
    ["임꺽정", 25, "여성"]
]

create_table(data)

위 코드는 ReportLab을 사용하여 데이터 테이블을 생성하는 방법을 보여줍니다. 코드에서는 SimpleDocTemplate을 사용하여 PDF 문서를 생성하고, Table 클래스를 사용하여 데이터를 테이블 형식으로 표시합니다. 또한, TableStyle을 사용하여 테이블의 스타일을 설정합니다.

위 예제를 실행하면 “table.pdf”라는 PDF 파일이 생성되며, 해당 파일을 열어보면 데이터 테이블이 포함된 문서를 확인할 수 있습니다.

결론

ReportLab을 사용하면 파이썬에서 손쉽게 데이터 테이블을 생성할 수 있습니다. 이를 활용하여 PDF 문서에 데이터를 시각적으로 보기 좋은 형태로 표시할 수 있습니다.