Метод columns
Метод columns класса Result возвращает
коллекцию колонок результирующего набора в виде
объекта RMKeyView. Каждый элемент этой
коллекции представляет собой объект
Column с информацией об имени, типе и
других свойствах колонки. Метод не принимает
параметров и доступен только в том случае, когда
запрос возвращает строки.
Синтаксис
Result.columns
Пример
Давайте выполним запрос и посмотрим на список колонок результирующего набора:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
res = conn.execute(
text('SELECT id, title, status FROM articles')
)
print(list(res.columns))
Результат выполнения кода:
['id', 'title', 'status']
Пример
Давайте обратимся к отдельным колонкам по индексу и получим их имена и типы:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
res = conn.execute(
text('SELECT id, title, num FROM articles')
)
for col in res.columns:
print(col.name, col.type)
Результат выполнения кода:
id INTEGER
title VARCHAR
num INTEGER
Пример
Давайте проверим, входит ли конкретная колонка в результирующий набор:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
res = conn.execute(
text('SELECT id, title, text, status FROM articles')
)
print('title' in res.columns)
print('num' in res.columns)
Результат выполнения кода:
True
False
Смотрите также
-
класс
Result,
который представляет результат выполнения запроса -
метод
keys,
который возвращает имена колонок результата -
метод
mappings,
который возвращает строки как словари -
атрибут
returns_rows,
который показывает, возвращает ли запрос строки