[python] PySimpleGUI에서 스프레드시트 기능 사용하기

PySimpleGUI는 파이썬으로 GUI 프로그램을 만들기 위한 간단하고 직관적인 인터페이스를 제공하는 라이브러리입니다. 이 라이브러리를 사용하면 파이썬 프로그램에 다양한 GUI 요소를 쉽게 추가할 수 있습니다.

스프레드시트 기능은 일반적으로 엑셀과 같은 프로그램에서 사용되는 기능으로, 데이터를 행과 열의 형태로 보여주고 편집할 수 있는 기능입니다. PySimpleGUI에서는 스프레드시트 기능을 구현하기 위해 Table 요소를 제공합니다.

스프레드시트 생성하기

먼저, PySimpleGUI를 설치해야 합니다. 다음 명령을 사용하여 PySimpleGUI를 설치할 수 있습니다:

pip install PySimpleGUI

아래 예제 코드는 PySimpleGUI를 사용하여 스프레드시트를 생성하고 기본 데이터를 표시하는 방법을 보여줍니다:

import PySimpleGUI as sg

# 스프레드시트 데이터
data = [
    ['이름', '나이', '성별'],
    ['John', '25', '남'],
    ['Emily', '30', '여'],
    ['Michael', '35', '남']
]

# 스프레드시트 레이아웃
layout = [
    [sg.Table(values=data, headings=data[0], auto_size_columns=True, justification='left')]
]

# 윈도우 생성
window = sg.Window('스프레드시트', layout)

# 이벤트 처리 루프
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break

# 윈도우 종료
window.close()

이 코드를 실행하면 스프레드시트가 생성되며, 기본 데이터가 표시됩니다. Table 요소에 values 매개변수로 데이터를 전달하고, headings 매개변수로 열 제목을 전달합니다. auto_size_columns 매개변수를 True로 설정하면 열 크기가 자동으로 조정됩니다.

데이터 추가 및 변경하기

스프레드시트에 새로운 데이터를 추가하거나 기존 데이터를 변경하는 방법을 알아보겠습니다. 아래 예제 코드는 스프레드시트에 데이터를 추가하는 방법을 보여줍니다:

# 데이터 추가 버튼 클릭 이벤트 핸들러
def add_data(event, values, table):
    name = values['name_input']
    age = values['age_input']
    gender = values['gender_input']
    
    # 테이블에 데이터 추가
    table.Update(values=[name, age, gender], append=True)

# 스프레드시트 레이아웃
layout = [
    [sg.Table(values=data, headings=data[0], auto_size_columns=True, justification='left')],
    [sg.Text('이름:'), sg.Input(key='name_input')],
    [sg.Text('나이:'), sg.Input(key='age_input')],
    [sg.Text('성별:'), sg.Input(key='gender_input')],
    [sg.Button('데이터 추가', key='add_button')]
]

# 윈도우 생성
window = sg.Window('스프레드시트', layout)

# 이벤트 처리 루프
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    if event == 'add_button':
        add_data(event, values, window['Table'])

# 윈도우 종료
window.close()

이 코드에서는 데이터를 입력할 수 있는 입력 필드와 “데이터 추가” 버튼을 추가했습니다. 버튼을 클릭하면 add_data 함수가 호출되고, 입력된 데이터가 스프레드시트에 추가됩니다.

결론

PySimpleGUI의 Table 요소를 사용하면 파이썬으로 스프레드시트 기능을 간편하게 구현할 수 있습니다. 이를 활용하여 데이터를 효율적으로 표시하고 편집할 수 있습니다.

더 자세한 내용은 PySimpleGUI 문서를 참조하세요.