У меня есть код, который я использовал для запроса MySQL, и я надеюсь использовать его с SQLite. Моя реальная надежда состоит в том, что это не будет включать внесение слишком большого количества изменений в код. К сожалению, следующий код не работает с SQLite:Как я могу ссылаться на столбцы по их именам в python, вызывающем SQLite?
cursor.execute(query)
rows = cursor.fetchall()
data = []
for row in rows
data.append(row["column_name"])
Это дает следующее сообщение об ошибке:
TypeError: tuple indices must be integers
Принимая во внимание, если изменить ссылку, чтобы использовать номер столбца, он отлично работает:
data.append(row[1])
Можно ли выполнить запрос таким образом, чтобы я мог ссылаться на столбцы по их именам?
На самом деле, это прекрасно! Спасибо. – Ben
К сожалению: следовало бы проверить более тщательно. Это не работает. С SQLite foo в конечном итоге становится чем-то вроде (123), а с MySQL он заканчивается ('foo': 123) – Ben
Получение подобных результатов заставляет задуматься, совместим ли ваш модуль MySQL с DB-API 2.0 ... если он не, попытка заменить другой модуль базы данных будет уродливой. Какой модуль MySQL вы используете? – kquinn