Python Tkinter – 如何將 Entry 欄位中的資料匯出到 CSV 檔案?


Entry 小部件用於接收使用者輸入的單行文字字串。

  • Text 小部件 − 顯示可以編輯的多行文字。

  • Label 小部件 − 顯示使用者無法修改的一行或多行文字。

匯入 *tkinter*、csv 並建立主視窗。將輸出視窗命名為“資料輸入”(輸出視窗的任何名稱)並根據您需要的輸出建立三個函式。此處內建了新增、儲存和清除功能,以使按鈕能夠正常工作。

在視窗中提供輸入後,單擊“新增”按鈕。“新增”函式將顯示訊息框“資料已成功新增”。同樣,單擊“儲存”按鈕時,“儲存”函式將顯示訊息框“已成功儲存”。使用“清除”函式清除輸入,它將清除整個輸出螢幕。

示例

# 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)

輸出

如果執行上述程式碼,它將顯示以下輸出視窗:

在 Entry 欄位中插入資料,然後單擊“新增”“儲存”將資料儲存到“data_entry.csv”檔案中。

如果開啟 CSV 檔案,它將如下所示:

Name, Age, Contact

Arjun, 25, 8790654321

John, 20, 9876543210

更新於:2021年12月22日

4K+ 次瀏覽

啟動您的 職業生涯

完成課程後獲得認證

開始學習
廣告