我试图从同一 PyQT5 class
中的另一个函数调用变量,但它返回错误。我基本上使用文件拾取器获取值,然后将其放入熊猫中,然后将结果存储在data2
我已经检查了凹痕。
python
class Ui_Dialog(QWidget):
def selectFile(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
fileName, _ = QFileDialog.getOpenFileName(self, "Open File", "", "All Files (*);;Excel Files (*.xlsx)", options=options)
# print(fileName)
if fileName:
# df=pd.read_excel(fileName,Header=None)
self.variableOne = fileName
# return self.variableOne
print(self.variableOne)
# return fileName
# type(fileName)
# global data
# data=np.asarray(df)
def pandaGetValues(self):
self.df=pd.read_excel(self.variabelOne,Header=None)
self.data=np.asarray(self.df)
self.data2=self.data[1:-1,:]
def get_voltage(self, r, t):
all=[]
data3=self.data2
for i in range (1,len(data3[0]),3):
self.mm = []
times=[]
self.times2=[]
self.header = self.data[0,i]
firstnumber = 0
first_index = 0
#temp=np.empty([], dtype=int)
self.temp=[]
m=np.where((data3[1:,i] >= r ) & (data3[1:,i] <= t ))
self.final=[]
# print('nn line number',i)
print(self.data[0,i])
#return i
self.mm=self.m[0]
self.mm=np.asarray(self.mm)
print(self.mm)
attributeError:'ui_dialog'对象没有属性'data2'
您要调用的变量" data2"是函数" pandagetValues"的局部变量。如果您想使用自我访问它,则需要使其全局:
class Ui_Dialog(QWidget):
data2 = None
def selectFile(self):
...