Да. В общем случае
cursor.description:
>>> con = somedb.connect(...)
>>> cur = con.cursor()
>>> cur.execute("SELECT * FROM test")
>>> cur.description[0]
Column(name='field', type_code=23, display_size=None, internal_size=4, precision=None, scale=None, null_ok=None)
Т.е. имя столбца:
>>> cur.description[0][0]
'field'
В документации Flask есть
пример как перегнать в словарикdef query_db(query, args=(), one=False):
cur = g.db.execute(query, args)
rv = [dict((cur.description[idx][0], value)
for idx, value in enumerate(row)) for row in cur.fetchall()]
return (rv[0] if rv else None) if one else rv
А в случае с sqlite есть оптимизированная
sqlite3.Row для
sqlite3.Connection.row_factory