РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
48 of 711 menu

Метод keys класса Result

Метод keys класса Result возвращает список имен колонок результирующего набора. Метод не принимает параметров и возвращает объект, подобный списку строк. Имена колонок соответствуют порядку столбцов в запросе.

Синтаксис

res.keys()

Пример

Давайте создадим таблицу articles и выполним запрос, чтобы получить имена колонок:

<+python+> from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text(''' CREATE TABLE articles ( id INTEGER PRIMARY KEY, title TEXT, text TEXT, status TEXT, num INTEGER ) ''')) res = conn.execute(text('SELECT id, title, status FROM articles')) print(res.keys()) <-python+>

Результат выполнения кода:

['id', 'title', 'status']

Пример

Давайте проверим, что метод возвращает имена колонок в том порядке, в котором они указаны в запросе:

<+python+> from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text(''' CREATE TABLE articles ( id INTEGER PRIMARY KEY, title TEXT, text TEXT, status TEXT, num INTEGER ) ''')) res = conn.execute(text('SELECT num, title, id FROM articles')) print(list(res.keys())) <-python+>

Результат выполнения кода:

['num', 'title', 'id']

Пример

Давайте используем метод keys вместе с методом fetchall для построчного вывода данных с именами колонок:

<+python+> from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text(''' CREATE TABLE articles ( id INTEGER PRIMARY KEY, title TEXT, text TEXT, status TEXT, num INTEGER ) ''')) conn.execute(text(''' INSERT INTO articles (title, status, num) VALUES ('article', 'published', 1) ''')) res = conn.execute(text('SELECT id, title, status, num FROM articles')) cols = res.keys() for row in res.fetchall(): print(dict(zip(cols, row))) <-python+>

Результат выполнения кода:

{'id': 1, 'title': 'article', 'status': 'published', 'num': 1}

Смотрите также

  • класс Result,
    который представляет результат запроса
  • метод columns,
    который возвращает объекты колонок результата
  • метод mappings,
    который возвращает строки в виде словарей
  • метод fetchall,
    который возвращает все строки результата
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить