Запись результата выполнения sql запроса в переменную
Учусь в python работать с sqlite.
Столкнулся с тем, что при выполнении запроса в БД не могу записать данные в переменную :
rows = c.execute("SELECT message_id From Messages where DATE is NOT Null")
for row in rows.fetchall():
print(row[0])
Т.к. кортеж, который возвращается я обрабатываю в цикле, чтобы убрать лишнее - '[', то сообщения выводятся списком по 1, что не совсем то что нужно. Необходимо полный результат запроса записать в переменную и вывести ее.
Подскажите, пожалуйста, как можно это сделать?
Ответы (1 шт):
Автор решения: Mike
→ Ссылка
fetchall нам возвращает фактически массив [ ['aaa'], ['bbb'], ['ccc'] ]. Значит нам его сначала надо привести к массиву вида ['aaa', 'bbb', 'ccc'], а потом уже собрать в строку так, как нужно. Сборка массива в строку происходит с помощью join. Итого:
string = ', '.join( [ row[0] for row in rows.fetchall() ] )