我已经使用xlrd导入excel文件。没有关于如何将这些数据填充到QTableWidget的教程。 导入excel的代码:
import xlrd
book = xlrd.open_workbook('bioreactorfinal.xlsx')
sheet = book.sheets() [1]
data = [[sheet.cell_value(r,c) for c in range (sheet.ncols)]for r in range(sheet.nrows)]
print(data)
QTableWidget的代码
self.tableWidget.setColumnCount(32)
self.tableWidget.setRowCount(32)
for row, columnvalues in enumerate(data):
for column, value in enumerate(columnvalues):
item = QtGui.QTableWidgetItem(value)
self.tableWidget.setItem(row, column, item)
答案 0 :(得分:2)
为了将其填充到QTableWidget中,您需要将其分成几个步骤:
如何阅读标题取决于您的期望,如果您对输入数据做出 no 假设,那么您将没有标题。
在这里,我假设标题位于第一行。从离开数据的位置开始,以下是如何从数据填充QTableWidget:
from PySide import QtGui
data = [[sheet.cell_value(r,c) for c in range (sheet.ncols)] for r in range(sheet.nrows)]
app = QtGui.QApplication([])
mytable = QtGui.QTableWidget()
# skip these lines if you don't have headers
headers = data[0]
data = data[1:]
self.setHorizontalHeaderLabels(headers)
# stop skipping lines
for row, columnvalues in enumerate(data):
for column, value in enumerate(columnvalues):
item = QtGui.QTableWidgetItem(value)
mytable.setItem(row, column, item)
这只是一个非常基本的模板,但是关于如何将Excel工作表转换为QTableWidget的一般概念。然后,您可以将其嵌入到QMainWindow或QDialog中。
要注意的一些事项: