python sqlalchemy динамически получает имена столбцов?

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from sqlalchemy import create_engine

connection = create_engine('mysql://user:passwd@localhost:3306/db').connect()

result = connection.execute("select * from table")
for v in result:
        print v['id']
        print v['name']
connection.close()

как я могу получить имена столбцов таблиц динамически? в этом случае id и name

2 ответов


вы можете найти колонки вызов result.keys() или вы можете получить к ним доступ через вызов v.keys() внутри for петли.

вот пример использования items():

for v in result:
    for column, value in v.items():
        print('{0}: {1}'.format(column, value))

как то так

headers=[ i[0] for i in result.cursor.description ]

тот же вопрос здесь возвращает имена столбцов из инструкции pyodbc execute ()