Как выбрать столбец по имени? (В Python & И Sqlite3)
В настоящее время у меня есть следующий код:
c.execute("SELECT * FROM table")
for row in c.fetchall():
print row[0]
print row[1]
однако я изменил структуру своей таблицы, и теперь мне нужно изменить значения Индекса, чтобы представить это изменение. Есть ли способ вместо этого использовать имена столбцов?
2 ответов
посмотреть Объекты Строки в документах для модуля sqlite3. Если вы используете sqlite3.Row
row_factory вы получите объект, который немного мощнее, чем обычные кортежи. Я предполагаю, что у него немного выше накладные расходы, поэтому он не является поведением по умолчанию.
по этой причине рекомендуется всегда использовать явные имена столбцов при выполнении SELECT
:
c.execute("SELECT color, fluffiness FROM table")
for row in c.fetchall():
print row[0] # <-- is always guaranteed to be the color value
print row[1]