我有基於模型的基於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)