CSV 파일은 Comma-Separated Values의 약자로, 데이터를 쉼표(또는 다른 구분 기호)로 구분하여 텍스트 파일로 저장하는 방식입니다. tkinter
는 파이썬의 표준 GUI (Graphical User Interface) 라이브러리로, 사용자 인터페이스를 만들 수 있는 기능을 제공합니다. 이번 블로그 포스트에서는 tkinter
를 사용하여 CSV 파일을 읽고 쓰는 방법을 알아보겠습니다.
CSV 파일 읽기
CSV 파일을 읽기 위해 csv
모듈을 사용할 수 있습니다. 해당 모듈은 파이썬의 내장 모듈로, CSV 파일을 처리하는 기능을 제공합니다. 아래는 tkinter
와 csv
모듈을 사용하여 CSV 파일을 읽고 내용을 출력하는 간단한 예제입니다.
import tkinter as tk
import csv
def read_csv(file_path):
with open(file_path, 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
print(row)
# Tkinter 창 생성
window = tk.Tk()
# CSV 파일 읽기 버튼 생성
read_button = tk.Button(window, text="CSV 파일 읽기", command=lambda: read_csv('file.csv'))
read_button.pack()
# Tkinter 창 실행
window.mainloop()
위의 코드에서는 read_csv
함수를 정의하여 CSV 파일을 읽고, csv.reader
객체를 이용하여 행(row)을 출력하는 방법을 보여줍니다. 또한, tkinter
를 사용하여 버튼을 생성하고 해당 버튼을 클릭하면 read_csv
함수가 호출되도록 설정하였습니다. 이제 위의 코드를 실행하면 CSV 파일의 내용이 출력됩니다.
CSV 파일 쓰기
CSV 파일을 작성하기 위해서도 csv
모듈을 사용할 수 있습니다. 아래는 tkinter
와 csv
모듈을 사용하여 사용자 입력을 받아 CSV 파일에 기록하는 예제입니다.
import tkinter as tk
import csv
def write_csv(file_path, data):
with open(file_path, 'w', newline='') as file:
csv_writer = csv.writer(file)
for row in data:
csv_writer.writerow(row)
# Tkinter 창 생성
window = tk.Tk()
# 사용자 입력 받기
input_data = []
for i in range(3):
row = []
for j in range(3):
entry = tk.Entry(window)
entry.grid(row=i, column=j)
row.append(entry)
input_data.append(row)
# CSV 파일 쓰기 버튼 생성
write_button = tk.Button(window, text="CSV 파일 쓰기", command=lambda: write_csv('file.csv', [[entry.get() for entry in row] for row in input_data]))
write_button.grid(row=3, column=0, columnspan=3)
# Tkinter 창 실행
window.mainloop()
위의 코드에서는 write_csv
함수를 정의하여 사용자로부터 입력 받은 데이터를 csv.writer
객체를 이용하여 CSV 파일에 기록하는 방법을 보여줍니다. 또한, tkinter
를 사용하여 3x3 크기의 텍스트 상자를 생성하고, 해당 상자에 입력한 데이터를 2차원 리스트 형태로 변환하여 write_csv
함수에 전달하는 방식입니다. 버튼을 클릭하면 write_csv
함수가 호출되며, 입력된 데이터가 CSV 파일로 저장됩니다.
이렇게 tkinter
를 사용하여 CSV 파일을 읽고 쓸 수 있습니다. CSV 파일은 데이터 관리에 유용한 형식이므로, 해당 방법을 통해 파이썬 프로그램에서 CSV 파일을 쉽게 처리할 수 있습니다.