Pandas可变路径



我正在用python编写一个简单的excel到使用tkinter和panda的文件夹软件中。这个程序的第一步将是文件选择,所以我写:

data_path=StringVar()
def getPath():
file = filedialog.askopenfile(mode='r', initialdir='/',
filetypes=[("xlsx files", "*.xlsx")])
if file:
filepath=os.path.abspath(file.name)
data_path.set(filepath)
Label(root, textvariable=data_path).grid(row=1,column=0,sticky='w', padx=100)

labels1_1 = Label (root, text = "Carica un File", 
font=('Arial', 12, 'bold')).grid(row=0,column=0,padx=5,sticky='w')
open_button = Button (root, text="Scegli un File", 
command=getPath).grid(row=1,column=0, padx=13, pady=5,sticky='w')

但是如果我设置";data_ path";作为字符串,然后我放入:

df = pd.read_excel(data_path)

它不起作用。那么,我如何从用户的excel文件中读取数据帧呢?

data_pathStringVar的一个实例,您需要得到它的值,所以您必须使用get()方法来获得它的值:

df = pd.read_excel(data_path.get())

此外,您不需要askopenfile,只需使用askopenfilename即可,它将返回文件的绝对路径。

def getPath():
file = filedialog.askopenfilename(initialdir='/',
filetypes=[("xlsx files", "*.xlsx")])
if file:
data_path.set(file)
Label(root, textvariable=data_path).grid(row=1,column=0,sticky='w', padx=100)

最新更新