Получить словарь из запроса sqlite при использовании модуля баз данных python

avatar
tedzz
9 августа 2021 в 03:19
55
1
0

Я разрабатываю асинхронную программу и решил использовать модуль базы данных для взаимодействия с базой данных. Проблема в том, что при выполнении запросов я получаю кортеж в качестве ответа. Однако я хочу получить ответ в формате словаря, например: 'column_name1': column_value1, ... 'column_name_n': column_value_n. Я нашел несколько решений, но все они используют модуль sqlite3.

Источник
drum
9 августа 2021 в 03:42
0

поделитесь соответствующим кодом

Ответы (1)

avatar
Suneesh Jacob
9 августа 2021 в 06:50
0
import databases

pathtodb = '/path/to/your/database.db'
tablename = 'table_name_in_your_database'

database = databases.Database('sqlite:///{}'.format(pathtodb))
query1 = "PRAGMA table_info('{}')".format(tablename)
pragma = await database.fetch_all(query=query1)
query2 = "SELECT * FROM {}".format(tablename)
data = await database.fetch_all(query=query2)

dictionary_keys = list(zip(*pragma))[1]
dictionary_values = list(zip(*data))

dictionary = dict(zip(dictionary_keys,dictionary_values))