【发布时间】:2012-09-18 11:57:46
【问题描述】:
是否可以将 QTableWidget 的内容写入 csv?我发现了一个关于使用 xlwt 写入 .xls 的问题,但似乎无法使用我的代码使其工作。
def saveFile(self):
filename = unicode(QtGui.QFileDialog.getSaveFileName(self, 'Save File', '', ".xls(*.xls)"))
wbk = xlwt.Workbook()
self.sheet = wbk.add_sheet("sheet")
self.write()
wbk.save(filename)
def write(self):
for col in range (self.coordinates.columnCount()):
for row in range(self.coordinates.rowCount()):
text=str(self.coordinates.item(row,col).text())
self.sheet.write(row,col,text)
我收到以下错误:
File "C:\Users\Tory\Desktop\DIDSON.py", line 186, in saveFile
self.write()
File "C:\Users\Tory\Desktop\DIDSON.py", line 192, in write
text=str(self.coordinates.item(row,col).text())
AttributeError: 'NoneType' object has no attribute 'text'
这是为什么? self.coordinates 是一个 QTableWidget。我能够让项目本身成功保存到工作表中,尽管我仍然想另存为 .csv ...
【问题讨论】:
-
为什么要设置和递增
row和col?您可以只使用i和x,还是我错过了什么?如果您不尝试/除外,这对于调试很有用,但只需让跟踪打印并将其发布在问题中。 -
还有,你为什么要从 QTableWidget 获取数据?如果您有数据要放入表中,为什么不将这些原始数据写入 csv/xls?
-
第一条评论——实际上并不确定。会修改。第二个问题,表格“记录”图像中的鼠标点击坐标,所以我希望用户能够看到坐标,然后保存完成的版本。
标签: python pyqt qtablewidget xlwt