gpt4 book ai didi

python - 使用按钮的结果变量作为另一个按钮的变量

转载 作者:行者123 更新时间:2023-11-28 18:03:22 26 4
gpt4 key购买 nike

抱歉,如果标题有点困惑,我不知道如何更好地表达它。

我遇到以下问题:我使用 Tkinter 的 filedialog 函数在按下按钮后选择多个 csv 文件,然后我将这些文件视为获取多个值作为 pandas 数据帧。在那之后,我想在一个将用于另一个按钮的函数中使用这些 pandas 数据帧,但我无法将这些数据帧带出它们的初始函数。我尝试这样做的主要问题之一是,由于使用了 for 循环,每次循环发生时数据帧都会被覆盖,所以我通常只得到最后一个 rt.理想的事情是能够将第二个按钮(convItol)调用的函数放在选择函数(用于上传文件的函数)中,但我不知道是否可以那样做。

到目前为止,这是我的代码:

from tkinter import *
from tkinter import filedialog
import glob, os
from pandas import *
import matplotlib.pyplot as plt
from scipy import stats
import ntpath
import sqlite3
import pandas as pd

#create window
window=Tk()

#textlist
screen=Listbox(window, height=10, width=50)
screen.grid(column=0, row=1, rowspan=4, columnspan=8)

#scrollbar
scrollbar=Scrollbar(window)
scrollbar.grid(row=2, column=8, sticky=S+N)
screen.configure(yscrollcommand=scrollbar.set)
scrollbar.configure(command=screen.yview)

#separator for the buttons
separator=Frame(height=2,bd=1, relief=SUNKEN)
separator.grid(row=2,column=20)


#selectfiles
def select():
selector=filedialog.askopenfilenames(parent=window,
initialdir="/", title="Upload")
for file in selector:
filename=ntpath.basename(file)
rt=pandas.read_csv(file, skiprows=6)
rt.set_index('Peak')
#rt is the pandas dataframe that I want to use in another function

#select button:
browse=Button(separator, text="Browse", command=select, width=10)
browse.grid(row=0, column=1)

#Conversion ITol function
def ConversionItol():
#here is where I would like to use the rt pandas dataframe

#Itol conversion Button
convItol=Button(separator, text="Conversion ITol", command=ConversionItol)
convItol.grid(row=1,column=1)
convSty=Button(separator, text="Conversion Sty")
convSty.grid(row=2, column=1)

window.mainloop()

提前致谢。

最佳答案

您可以使用在文件顶部创建的变量。

data = 'whatever'

然后你只需将这两行添加到select():

global data
data = rt

然后将 global data 行添加到 ConversionItol() 中,您可以将 rt 用作 data。希望有所帮助。

关于python - 使用按钮的结果变量作为另一个按钮的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54904802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com