浏览xlsx工作簿并创建一个下拉列表以选择要阅读的工作表

时间:2019-03-26 10:14:33

标签: pandas

我绝对是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工作表,然后选择要读取的工作表(基于下拉列表)。

0 个答案:

没有答案