python中如何方便地加载dataframe数据到gui界面(pyqt)中

背景需求

基本上Python中都是习惯用Dataframe处理数据,效率高,读写多样并且方便。但是拿到了正确的数据还需要展示到界面上,毕竟大多数应用都是需要交互界面的。那么如何方便地把df数据展示到gui界面呢?

解决方案

  1. 我这里用的是Pyqt做gui界面。Pyqt中Table类的组件有两个,一个tablewidget一个tableview,我这里推荐用Tableview,因为TableView有一个setModel的方法,可以直接将数据模型的数据整体展现出来,而不用自己去写一个一个Cell的数据加载逻辑。
  2. 直接使用下面这个类,这个类就是一个Model,通过构建这个类的实例,能够将一个简单Df的数据方便转换成TableView可以加载的Model对象。
class PdTable(QAbstractTableModel):
    def __init__(self, data, showAllColumn=False):
        QAbstractTableModel.__init__(self)
        self.showAllColumn = showAllColumn
        self._data = data

    def rowCount(self, parent=None):
        return self._data.shape[0]

    def columnCount(self, parent=None):
        return self._data.shape[1]

    def data(self, index, role=Qt.DisplayRole):
        if index.isValid():
            if role == Qt.Displa

你可能感兴趣的:(Python,python,pyqt)