[python] ReportLab 데이터 합계 계산

ReportLab은 파이썬에서 PDF 문서를 생성하기 위한 강력한 도구입니다. 이번 글에서는 ReportLab을 사용하여 데이터에서 합계를 계산하고 표시하는 방법에 대해 알아보겠습니다.

데이터 준비

먼저, 합계를 계산할 데이터를 준비해야 합니다. 데이터는 리스트 형태로 표현되며, 각 항목은 딕셔너리로 구성됩니다. 각 딕셔너리는 다양한 속성을 가질 수 있지만, 우리는 간단히 ‘이름’과 ‘값’ 속성만을 사용할 것입니다. 예를 들어, 다음과 같은 데이터를 사용할 수 있습니다:

data = [
    {'이름': '항목1', '값': 10},
    {'이름': '항목2', '값': 20},
    {'이름': '항목3', '값': 30}
]

합계 계산

이제 ReportLab을 사용하여 데이터의 합계를 계산하는 함수를 작성해보겠습니다. 다음은 예시 코드입니다:

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

def calculate_total(data):
    total = sum(item['값'] for item in data)
    return total

def generate_report(data):
    c = canvas.Canvas("report.pdf", pagesize=letter)

    total = calculate_total(data)
    c.drawString(100, 100, f"총 합계: {total}")

    c.save()

data = [
    {'이름': '항목1', '값': 10},
    {'이름': '항목2', '값': 20},
    {'이름': '항목3', '값': 30}
]

generate_report(data)

위 코드에서 calculate_total 함수는 데이터의 합계를 계산하는 함수입니다. 각 항목의 ‘값’을 가져와서 모두 더한 후에 결과를 반환합니다.

generate_report 함수는 ReportLab으로 PDF 보고서를 생성하는 함수입니다. 먼저 calculate_total 함수를 사용하여 합계를 계산하고, 계산된 결과를 PDF에 표시합니다.

실행 및 결과 확인

위 코드를 실행하면 report.pdf라는 파일이 생성됩니다. 이 파일을 열어보면 텍스트로 "총 합계: <계산된 합계>"라는 내용이 표시되어 있을 것입니다.

결론

이렇게 ReportLab을 사용하여 데이터에서 합계를 계산하고 표시하는 방법을 알아보았습니다. ReportLab을 사용하면 파이썬으로 간단하게 PDF 보고서를 생성할 수 있습니다. 추가적인 기능을 사용하고 싶다면 ReportLab의 공식 문서를 참고하세요. Happy coding!