python tableview 自适应_python – 从Pandas数据框填充QTableView的最快...

我对PyQt很新,我正在努力填充QTableView控件.

我的代码如下:

def data_frame_to_ui(self, data_frame):

"""

Displays a pandas data frame into the GUI

"""

list_model = QtGui.QStandardItemModel()

i = 0

for val in data_frame.columns:

# for the list model

if i > 0:

item = QtGui.QStandardItem(val)

#item.setCheckable(True)

item.setEditable(False)

list_model.appendRow(item)

i += 1

self.ui.profilesListView.setModel(list_model)

# for the table model

table_model = QtGui.QStandardItemModel()

# set table headers

table_model.setColumnCount(data_frame.columns.size)

table_model.setHorizontalHeaderLabels(data_frame.columns.tolist())

self.ui.profileTableView.horizontalHeader().setStretchLastSection(True)

# fill table model data

for row_idx in range(10): #len(data_frame.values)

row = list()

for col_idx in range(data_frame.columns.size):

val = QtGui.QStandardItem(str(data_frame.values[row_idx][col_idx]))

row.append(val)

table_model.appendRow(row)

# set table model to table object

self.ui.profileTableView.setModel(table_model)

实际上在代码中我成功填充了一个QListView,但是我没有显示我设置到QTableView的值,你也可以看到我将行截断为10,因为它需要永远显示数百帧的数据帧.

那么,从pandas数据框填充表模型的最快方法是什么?

提前致谢.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值