pandas - 浏览 xlsx 工作簿并创建一个下拉列表以选择要阅读的工作表
问题描述
我对 python 完全陌生,我正在尝试构建一个代码,该代码将根据浏览的 xlsx 文件上传数据框,然后下拉所选 xlsx 文件中所有工作表的列表。
我找到了两个代码:一个用于浏览和读取 excel 文件,第二个用于下拉列表,其中包含所选 xlsx 文件中的所有工作表。我需要做的实际上是将这两个代码结合起来。首先,我想选择一个 xlsx 工作表,然后我想选择要阅读的工作表(基于下拉列表)。
浏览和读取excel文件的功能
enter code here
将 tkinter 作为 tk
enter code here
从 tkinter
导入文件对话框enter code here
导入熊猫作为 pd
root= tk.Tk()
canvas1 = tk.Canvas(root, width = 300, height = 300, bg = 'white')
canvas1.pack()
def getExcel ():
global df
import_file_path = filedialog.askopenfilename()
df = pd.read_excel(import_file_path, sheet_name='Loan Tape')
df.keys()
df
root.destroy()
browseButton_Excel = tk.Button(text='Import Excel File', command=getExcel, bg='yellow', fg='black', font=('arial', 12, 'bold'))
canvas1.create_window(150, 150, window=browseButton_Excel)
root.mainloop()
创建 xlsx 文件中所有工作表的下拉列表的函数
import tkinter as tk
from tkinter import *
root = Tk()
root.title("Select a sheet")
mainframe = Frame(root)
mainframe.grid(column=0,row=0, sticky=(N,W,E,S) )
mainframe.columnconfigure(0, weight = 1)
mainframe.rowconfigure(0, weight = 1)
mainframe.pack(pady = 100, padx = 100)
tkvar = StringVar(root)
xl = pd.ExcelFile(r'Full file path.xlsx')
choices=xl.sheet_names
tkvar.set('Nothing selected') # set the default option
popupMenu = OptionMenu(mainframe, tkvar, *choices)
Label(mainframe, text="Select a sheet").grid(row = 1, column = 1)
popupMenu.grid(row = 2, column =1)
def change_dropdown(*args):
print( tkvar.get() )
root.destroy()
tkvar.trace('w', change_dropdown)
root.mainloop()
我需要做的是实际结合这两个代码。首先,我想选择一个 xlsx 工作表,然后我想选择要阅读的工作表(基于下拉列表)。