首页 > 解决方案 > 浏览 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 工作表,然后我想选择要阅读的工作表(基于下拉列表)。

标签: pandas

解决方案


推荐阅读