Python 3.x 如何从PyQt5中显示的excel文件中删除数据并刷新它

Python 3.x 如何从PyQt5中显示的excel文件中删除数据并刷新它,python-3.x,pandas,pyqt5,Python 3.x,Pandas,Pyqt5,我的数据库应用程序使用Pandas库。我可以将excel文件显示到我的tableView中,但任何时候我都可以从大型机中删除数据并尝试刷新tableView。这给了我一个关键的错误 我试图让它显示刷新的表。我试图删除用户请求的行。因为我输出了信息,所以当它下降时它会工作,但是tableView本身不会刷新,并且会给出一个错误 df=pd.read\u excel(“文件名”) 模型=PandaModel(df) self.tableView.setModel(model) self.tableV

我的数据库应用程序使用Pandas库。我可以将excel文件显示到我的tableView中,但任何时候我都可以从大型机中删除数据并尝试刷新tableView。这给了我一个关键的错误

我试图让它显示刷新的表。我试图删除用户请求的行。因为我输出了信息,所以当它下降时它会工作,但是tableView本身不会刷新,并且会给出一个错误

df=pd.read\u excel(“文件名”)
模型=PandaModel(df)
self.tableView.setModel(model)
self.tableView.resizeColumnsToContents()的大小
def DeletePlayer(self):
全球测向
choose=self.removePlayerEdit.text()
如果(选择==“0”):
df=df.drop([0])
打印(“已删除播放器”)
打印(df)

在实现模型时,不应直接访问存储数据的元素(dataframe),因为如果修改它,模型将不知道会产生什么问题,相反,您应该创建修改内部数据的方法,但将这些方法用作将通知模型更改的beginRemoveRows和endRemoveColumns

def removeColumn(self, col):
    if 0 <= col < self.columnCount():
        self.beginRemoveRows(QtCore.QModelIndex(), col, col)
        self._df.drop(
            self._df.columns[[col]], axis=1, inplace=True
        )
        self._df.reset_index(inplace=True, drop=True)
        self.endRemoveColumns()

def removeColumn(self,col):

如果0,我希望你会回应,因为我使用了你的模型。谢谢,这很有效。
def removeColumn(self, col):
    if 0 <= col < self.columnCount():
        self.beginRemoveRows(QtCore.QModelIndex(), col, col)
        self._df.drop(
            self._df.columns[[col]], axis=1, inplace=True
        )
        self._df.reset_index(inplace=True, drop=True)
        self.endRemoveColumns()