我正在PyQT5中编写一个GUI,允许用户导入电子表格。在后台,GUI将电子表格中的数据转换为熊猫数据框。以下是相关功能:
#add a menu
def add_menu(self):
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
#Open a file
openFile=QMenu('Open File',self)
openFile = QAction('&Open a file', self)
openFile.setShortcut('Ctrl+O')
openFile.setStatusTip('Open a file')
openFile.triggered.connect(self.read_file)
menubar.setNativeMenuBar(False) #needed for Mac OS
函数add_menu
包括对read_file
的调用:
def read_file(self):
self.fileName=QFileDialog.getOpenFileName(self, 'Open file','\home',filter)
df=pd.read_excel(self.fileName[0])
avg=df['Returns'].mean()
我遇到的问题是,在调用df
之后,变量avg
和read_file
被销毁了。但是,我想在其他函数中使用df
对象。我无法return
df
,因为connect
行中的openFile.triggered.connect(self.read_file)
不会传递熊猫数据框对象。
在调用df
之后如何保存avg
和read_file
?记忆吗?