Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python Tkinter – 입력 필드에서 CSV 파일로 데이터를 내보내는 방법은 무엇입니까?

<시간/>

항목 위젯은 사용자의 한 줄 텍스트 문자열을 수락하는 데 사용됩니다.

  • 텍스트 위젯 − 편집할 수 있는 여러 줄의 텍스트를 표시합니다.

  • 레이블 위젯 − 사용자가 수정할 수 없는 한 줄 이상의 텍스트를 표시합니다.

tkinter 가져오기 , csv 및 기본 창 만들기. 출력 창의 이름을 "Data Entry"(출력 창의 이름)로 지정하고 필요한 출력을 기반으로 세 가지 기능을 만듭니다. 여기에 버튼이 기능적으로 작동하도록 추가, 저장 및 지우기 기능이 내장되어 있습니다.

창에 입력한 후 추가 버튼을 클릭합니다. 추가 기능은 "데이터가 성공적으로 추가되었습니다"라는 메시지 상자를 표시합니다. 마찬가지로 저장 버튼을 클릭하면 저장 기능이 "성공적으로 저장되었습니다"라는 메시지 상자를 표시합니다. 지우기 기능으로 입력을 지우면 전체 출력 화면이 지워집니다.

예시

# Import the required libraries
from csv import *
from tkinter import *
from tkinter import messagebox

window=Tk()
window.title("Data Entry")
window.geometry("700x350")
main_lst=[]

def Add():
   lst=[name.get(),age.get(),contact.get()]
   main_lst.append(lst)
   messagebox.showinfo("Information","The data has been added successfully")

def Save():
   with open("data_entry.csv","w") as file:
      Writer=writer(file)
      Writer.writerow(["Name","Age","Contact"])
      Writer.writerows(main_lst)
      messagebox.showinfo("Information","Saved succesfully")

def Clear():
   name.delete(0,END)
   age.delete(0,END)
   contact.delete(0,END)

# 3 labels, 4 buttons,3 entry fields
label1=Label(window,text="Name: ",padx=20,pady=10)
label2=Label(window,text="Age: ",padx=20,pady=10)
label3=Label(window,text="Contact: ",padx=20,pady=10)

name=Entry(window,width=30,borderwidth=3)
age=Entry(window,width=30,borderwidth=3)
contact=Entry(window,width=30,borderwidth=3)

save=Button(window,text="Save",padx=20,pady=10,command=Save)
add=Button(window,text="Add",padx=20,pady=10,command=Add)
clear=Button(window,text="Clear",padx=18,pady=10,command=Clear)
Exit=Button(window,text="Exit",padx=20,pady=10,command=window.quit)

label1.grid(row=0,column=0)
label2.grid(row=1,column=0)
label3.grid(row=2,column=0)

name.grid(row=0,column=1)
age.grid(row=1,column=1)
contact.grid(row=2,column=1)
save.grid(row=4,column=0,columnspan=2)
add.grid(row=3,column=0,columnspan=2)
clear.grid(row=5,column=0,columnspan=2)
Exit.grid(row=6,column=0,columnspan=2)

window.mainloop()
print(lst)
print(main_lst)

출력

위의 코드를 실행하면 다음과 같은 출력 창이 표시됩니다 -

Python Tkinter – 입력 필드에서 CSV 파일로 데이터를 내보내는 방법은 무엇입니까?

항목 필드에 데이터를 삽입하고 "추가"를 클릭합니다. 및 '저장' "data_entry.csv"에 데이터를 저장하려면 파일.

Python Tkinter – 입력 필드에서 CSV 파일로 데이터를 내보내는 방법은 무엇입니까?

CSV 파일을 열면 다음과 같이 표시됩니다. -

Name, Age, Contact

Arjun, 25, 8790654321

John, 20, 9876543210