SQLite и tkintetable - PullRequest
       6

SQLite и tkintetable

0 голосов
/ 02 марта 2019

Я пытаюсь визуализировать запрос SQLite с помощью tkintertable, но я не уверен, как правильно отформатировать результаты.

Когда я запускаю этот запрос

c.execute("SELECT type, effort FROM efforts WHERE datum =?", (time.strftime("%d:%m:%Y").replace(":", "."),))

, я получаюдля вывода типа

[('type1', effort1), ('type2', effort2)]

Для tkintertable, с другой стороны, требуется ввод типа

{0: {'type': type1, 'effort': effort1}, 1: {'type': type2, 'effort': effort2}}

Есть ли способ отформатировать вывод запроса таким образом?

1 Ответ

0 голосов
/ 03 марта 2019

Как упомянуто @stovfl, вы не можете явно указать объекту cursor, как форматировать вывод его запроса.Затем вы преобразуете результат запроса, возвращаемый курсором, в желаемую форму.

Как указано, ваш вывод имеет следующий вид: [('type1', 'effort1'), ('type2', 'effort2')].Чтобы преобразовать это в словарь:

output = cursor.fetchall() #output from query
output_dict = {}
for index in range(len(output)): #use an index to create new dictionary elements
    data = output[index] #use that index to find the next piece of data to insert into output dictionary
    output_dict[index] = {'type':  data[0], 'effort': data[1]} #create new dictionary element, using 
    #the index as the key and setup a nested dictionary as the value associated with the key

Выходы:

0 {'type': 'type1', 'effort': 'effort1'}
1 {'type': 'type2', 'effort': 'effort2'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...