pandas.read_sql_query
- pandas.read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, chunksize=None, dtype=None, dtype_backend=<no_default>)[source]
-
Прочитать SQL-запрос в DataFrame.
Возвращает DataFrame, соответствующий набору результатов строки запроса. При необходимости укажите параметр index_col, чтобы использовать один из столбцов в качестве индекса; в противном случае будет использоваться целочисленный индекс по умолчанию.
- Параметры:
-
- sql:str SQL-запрос или объект Selectable из SQLAlchemy (объект select или text)
-
SQL-запрос для выполнения.
- con:подключаемый объект SQLAlchemy, str или подключение sqlite3
-
Использование SQLAlchemy позволяет работать с любой БД, поддерживаемой этой библиотекой. Если передан объект DBAPI2, поддерживается только sqlite3.
- index_col:str или список str, необязательно, по умолчанию: None
-
Столбец(ы), который(е) следует задать в качестве индекса (MultiIndex).
- coerce_float:bool, по умолчанию True
-
Пытается преобразовать значения объектов, не являющихся строками или числами (например, decimal.Decimal), в числа с плавающей точкой. Полезно для наборов результатов SQL-запросов.
- params:list, tuple или mapping, необязательно, по умолчанию: None
-
Список параметров, передаваемых методу execute. Синтаксис передачи параметров зависит от драйвера базы данных. Узнайте в документации своего драйвера базы данных, какой из пяти стилей синтаксиса, описанных в paramstyle PEP 249, поддерживается. Например, psycopg2 использует %(name)s, поэтому укажите params={‘name’ : ‘value’}.
- parse_dates:list или dict, по умолчанию: None
-
Список имен столбцов, которые следует разобрать как даты.
Словарь
{column_name: format string}, где строка формата совместима со strftime при разборе строковых значений времени или имеет одно из значений (D, s, ns, ms, us) при разборе целочисленных временных меток.Словарь
{column_name: arg dict}, где словарь аргументов соответствует именованным аргументамpandas.to_datetime(). Особенно полезно для баз данных без встроенной поддержки Datetime, например SQLite.
- chunksize:int, по умолчанию None
-
Если задано, возвращает итератор, в котором chunksize — количество строк в каждом фрагменте.
- dtype:имя типа или словарь столбцов
-
Тип данных для данных или столбцов. Например, np.float64 или {‘a’: np.float64, ‘b’: np.int32, ‘c’: ‘Int64’}.
Добавлено в версии 1.3.0.
- dtype_backend:{‘numpy_nullable’, ‘pyarrow’}, по умолчанию ‘numpy_nullable’
-
Тип данных внутреннего механизма, применяемый к результирующему объекту
DataFrame(пока что экспериментальная возможность). Поведение описано ниже:"numpy_nullable": возвращаетDataFrameс типами, допускающими пропущенные значения (по умолчанию)."pyarrow": возвращает DataFrame с типамиArrowDtype, допускающими пропущенные значения и поддерживаемыми pyarrow.
Добавлено в версии 2.0.
- Возвращает:
-
- DataFrame или Iterator[DataFrame]
См. также
read_sql_table-
Прочитать таблицу базы данных SQL в DataFrame.
read_sql-
Прочитать SQL-запрос или таблицу базы данных в DataFrame.
Примечания
Любые значения datetime с информацией о часовом поясе, разобранные с помощью параметра parse_dates, будут преобразованы в UTC.
Примеры
>>> from sqlalchemy import create_engine >>> engine = create_engine("sqlite:///database.db") >>> with engine.connect() as conn, conn.begin(): ... data = pd.read_sql_table("data", conn)
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.read_sql_query.html