我无法导出csv文件以进行更详细的选项菜单输入



我可以使用optionmenu为条目导出csv。有可能出口吗?

这是我的代码>>

from tkinter import *
import csv
def save():
with open('output.txt', 'w') as out:
for label, entry, optionmenu`enter code here` in mywidget:
out.write(label['text']+" "+entry.get()+'n')
if __name__ == '__main__':
user = Tk()
myLabel1 = Label(user, text="FIS_PRA_USERS")
myLabel2 = Label(user, text="FIS_ID")
FIS_ID = StringVar()
entry_box1 = Entry(user, textvariable=FIS_ID, width=70)
entry_box1.insert(0, "PRA")
myLabel3 = Label(user, text="FIS_User_Name")
FIS_User_Name = StringVar()
entry_box2 = Entry(user, textvariable=FIS_User_Name, width=70)
entry_box2.insert(0, "User Full Name")
myLabel4 = Label(user, text="FIS_User_Email")
FIS_User_Email = StringVar()
entry_box3 = Entry(user, textvariable=FIS_User_Email, width=70)
entry_box3.insert(0, "boss@allnetworks.com")
myLabel5 = Label(user, text="FIS_User_Password")
FIS_User_Password = StringVar()
entry_box4 = Entry(user, textvariable=FIS_User_Password, width=70)
entry_box4.insert(0, "xxxxxxxx")
myLabel6 = Label(user, text="FIS_User_Type")
FIS_User_Type = StringVar()
clicked = StringVar()
clicked.set("Admin")
drop1 = OptionMenu(user, clicked, "Admin", "Supervisor", "User", "ReadOnly")
utype = clicked.get()
myLabel7 = Label(user, text="FIS_User_Fist_Seen")
FIS_User_First_Seen = StringVar()
entry_box5 = Entry(user,textvariable=FIS_User_First_Seen,state = 'normal', width=70)
entry_box5.insert(0, "YYYY/MM/DD-HH-SS")
myLabel8 = Label(user, text="FIS_User_Last_Seen")
FIS_User_Last_Seen = StringVar()
entry_box6 = Entry(user,textvariable=FIS_User_Last_Seen, width=70)
entry_box6.insert(0, "YYYY/MM/DD-HH-SS")
button1 = Button(user, text = "Save", command = save)
button2 = Button(user, text = "Edit")
button3 = Button(user, text = "Delete")
button4 = Button(user, text = "Export")
#tkinter display setting
myLabel1.grid(row=0, column=2)
myLabel2.grid(row=2, column=0)
entry_box1.grid(row=2, column=2)
myLabel3.grid(row=3, column =0)
entry_box2.grid(row=3, column =2)
myLabel4.grid(row=4, column =0)
entry_box3.grid(row=4, column=2)
myLabel5.grid(row=5, column=0)
entry_box4.grid(row=5, column=2)
myLabel6.grid(row=6, column=0)
drop1.grid(row=6, column=2)
myLabel7.grid(row=7, column=0)
entry_box5.grid(row=7, column=2)
myLabel8.grid(row=8, column=0)
entry_box6.grid(row=8, column=2)
button1.grid(row=9, column=3)
button2.grid(row=9, column=4)
button3.grid(row=9, column=5)
button4.grid(row=9, column=6)

mywidget = [(myLabel2, entry_box1),(myLabel3, entry_box2), (myLabel4, entry_box3), (myLabel5, entry_box4),(myLabel6, utype)]
user.mainloop()

您不应该在mywidget中使用utype(这是一个空字符串),而是使用clicked:

def save():
with open('output.txt', 'w') as out:
for label, entry in mywidget:
out.write(label['text']+" "+entry.get()+'n')
...
mywidget = [(myLabel2, entry_box1), (myLabel3, entry_box2), (myLabel4, entry_box3),
(myLabel5, entry_box4), (myLabel6, clicked)] # use clicked instead of utype

最新更新