我正在开发一个应用程序,用户可以在其中上传自己的excel文件并获取表格和列。如何获取“列”下拉菜单(第二个)以“表格”下拉菜单(第一个)进行更新。
我已经尝试使函数“ Update”从功能“ GetSheet”获取新表并进行更新。但这不起作用,因为列下拉菜单始终卡在默认表中。
master.title('ATT Analytics App')
master.geometry("400x250")
Myfile= filedialog.askopenfile()
wb = load_workbook(filename = str(Myfile.name))
#Sheets = wb.sheetnames
variable = StringVar(master)
variable.set(str(wb.sheetnames[2])) # default value
w = OptionMenu(master, variable, str(wb.sheetnames[0]), str(wb.sheetnames[1]), str(wb.sheetnames[2]), str(wb.sheetnames[3]))
w.pack()
def GetSheet():
FileRead = pd.read_excel(str(Myfile.name),sheet_name= str(variable.get()))
MyHeadres = list(FileRead.columns.values)
return MyHeadres, FileRead
variable1 = StringVar(master)
def Update(TheHeaders):
variable1.set(str(TheHeaders[0]))
wc = OptionMenu(master, variable1, str(TheHeaders[0]), str(TheHeaders[1]), str(TheHeaders[2]), str(TheHeaders[3]), str(TheHeaders[4]), str(TheHeaders[5]))
return wc
def RunAll():
GetMySheet, FileRead = GetSheet()
UpdateMysheet = Update(GetMySheet)
return UpdateMysheet, variable1.get(), FileRead
button = Button(master, text="Run", command=RunAll)
button.pack(side = TOP)
UpdateMysheet, MyColumn, ReadMyFile = RunAll()
UpdateMysheet.pack()
FileRead = ReadMyFile
mainloop()
我想带我的代码以使用下拉菜单(变量)更新列下拉菜单(变量1),该菜单可以正常工作,并且还可以存储所需的列并继续进行选择一个等等 非常感谢您的帮助。
编辑:现在,当我选择另一个工作表时,列的默认值将更新为新工作表,但是当我查看完整的列表时,我发现这些值来自旧工作表。