首页 > 解决方案 > 单击一个按钮以将输入字段保存在 Tkinter 中的 csv 文件中

问题描述

我正在创建一个简单的 GUI 界面,希望使用 Tkinker 将输入数据保存在 csv 文件中。我已经完成了界面,但我在提交按钮保存数据时遇到了挑战。我需要帮助,所以当我单击提交按钮时,它会将数据保存在 csv 文件中。这是我的代码

from tkinter import *
import csv
import os

window = Tk()

window.title("BUSINESS REGISTRATION ")

window.geometry('500x450')

# Field name
bNo = Label(window, text="BusinessNo :")
bName = Label(window, text="BusinessName :")

# Packing fileds to show on the GUI
bNo.grid(row=1, column=2)
bName.grid(row=2, column=2)

# Varibales for storing data
businessNo = StringVar
businessName = StringVar

# Creating entry fields
entry1 = Entry(window, textvariable=businessNo)
entry2 = Entry(window, textvariable=businessName)

# Packing entry fields
entry1.grid(row=1, column=3)
entry2.grid(row=2, column=3)

# creating csv file
file_exists = os.path.exists('BUSINESS REGISTRATION.csv')

with open('BUSINESS REGISTRATION.csv', 'a', encoding='UTF8') as f:
writer = csv.writer(f)
if file_exists:

    writer.writerow(businessNo)
else:
    writer.writerow(businessName)
    writer.writerow(businessNo)


# submit function
def callback():
mylabel = Label(window, )
mylabel.grid()


# Creating a submit button
submit_Button = Button(window, text="Submit", command=callback)
submit_Button.grid(row=3, column=3)

# creating a csv file


window.mainloop()

标签: pythoncsvtkinter

解决方案


您可以使用 pandas 然后将您的数据转换为 DatFrame 类型,然后将其保存为 csv 或任何其他扩展名

import pandas as pd  #install pandas in your pc 

def save_to_csv(data):  
   data_to_save={'name':data[0],'age':data[1]}  
   df=pd.DataFrame(data_to_save)
   df.to_csv('your path/data.csv')

data=[('messi','ronaldo','neymar'),(34,35,30)]  #this exemple of data has name and age u can put any thing 
save_to_csv(data) # i call the function

推荐阅读