Pyqt - 从模型中获取 CSV
Posted
技术标签:
【中文标题】Pyqt - 从模型中获取 CSV【英文标题】:Pyqt - get CSV from model 【发布时间】:2011-01-12 14:11:08 【问题描述】:我有基于模型的基于代理模型的树视图。 所以我得到了一个可以过滤和分类的表格。
我只想将此表的当前视图导出到 CSV 文件。 就我所见,导出到文件或打印。
我想我必须为此使用代理模型,对吧? 我找不到方法行或类似的东西。
我真的必须使用 data()、rowCount() 和 collumnCount() 方法吗?
谢谢
【问题讨论】:
【参考方案1】:有一个用于 python 的 CSV 读取器/写入器,您可以在Frank Osterfeld 的解决方案中使用它。
更多示例请参见http://docs.python.org/library/csv.html#examples!
import csv
writer = csv.writer(open("some.csv", "wb"))
writer.writerows(someiterable)
【讨论】:
【参考方案2】:我不知道任何用于 QAbstractItemModels 的 CSV 解析器或导出器,所以我认为您必须编写自己的导出代码,如下所示(pythonish 伪代码):
for row in range(model.rowCount()):
for col in range(model.columnCount()):
value = model.index( row, col, QModelIndex() ).data( Qt.DisplayRole ).toString()
#write v, add separator...
#finish row...
仅使用通用 QAbstractItemModel API,它适用于所有模型,无论是否代理。
【讨论】:
以上是关于Pyqt - 从模型中获取 CSV的主要内容,如果未能解决你的问题,请参考以下文章
从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)