我正在尝试从同一PyQT5 class
中的另一个函数调用变量,但是它返回错误。我基本上是使用文件选择器获取值并将其放在panda中,并将结果存储在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('\n\n 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”
答案 0 :(得分:0)
您尝试调用的变量“ data2”是函数“ pandaGetValues”的局部变量。如果您希望使用self来访问它,则需要将其设置为全局:
class Ui_Dialog(QWidget):
data2 = None
def selectFile(self):
...