我有基于模型的基于proxymodel的treeview。 所以我得到一个表格,可以过滤和分类。Pyqt - 从模型获取CSV
我只想将此表的当前视图导出为CSV文件。 正是我所看到的,导出到文件或打印。
我想我必须使用proxymodel,对吧? 我找不到方法行或类似的东西。
真的,我不得不使用方法data(),rowCount()和collumnCount()?
感谢
我有基于模型的基于proxymodel的treeview。 所以我得到一个表格,可以过滤和分类。Pyqt - 从模型获取CSV
我只想将此表的当前视图导出为CSV文件。 正是我所看到的,导出到文件或打印。
我想我必须使用proxymodel,对吧? 我找不到方法行或类似的东西。
真的,我不得不使用方法data(),rowCount()和collumnCount()?
感谢
我不知道任何CSV解析器或出口商QAbstractItemModels的,所以我认为你必须编写自己的代码的出口,像这样(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,它适用于所有模型,代理或不适用。
有一个Python的CSV读写器,你可以在Frank Osterfeld的解决方案中使用。更多示例请参阅http://docs.python.org/library/csv.html#examples!
import csv
writer = csv.writer(open("some.csv", "wb"))
writer.writerows(someiterable)