Pyqt - получить CSV от модели - PullRequest
1 голос
/ 12 января 2011

У меня есть древовидная структура на основе прокси-модели на основе модели. Поэтому я получаю таблицу, которую можно отфильтровать и отсортировать.

Я просто хочу экспортировать текущее представление этой таблицы в файл CSV. Только то, что я вижу, экспорт в файл или печать.

Полагаю, для этого мне нужно использовать проксимодель, верно? Я не могу найти строку метода или что-то в этом роде.

Действительно я должен использовать методы data (), rowCount () и collumnCount ()?

Спасибо

Ответы [ 2 ]

3 голосов
/ 14 января 2011

Существует программа чтения / записи CSV для python, которую можно использовать в решении Фрэнка Остерфельда .

См. http://docs.python.org/library/csv.html#examples для большего количества примеров!

import csv
writer = csv.writer(open("some.csv", "wb"))
writer.writerows(someiterable)
2 голосов
/ 12 января 2011

Я не знаю ни одного синтаксического анализатора или экспортера 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...

Использование только универсальногоAPI QAbstractItemModel, он работает для всех моделей, прокси или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...