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=_NoDefault.no_default)[源代码]#
将 SQL 查询读入 DataFrame。
返回与查询字符串结果集对应的 DataFrame。可以选择提供 index_col 参数来使用其中一列作为索引,否则将使用默认的整数索引。
- Parameters:
- sqlstr SQL 查询或 SQLAlchemy Selectable (select 或 text object)
要执行的 SQL 查询。
- conSQLAlchemy connectable, str, 或 sqlite3 connection
使用 SQLAlchemy 可以使用该库支持的任何数据库。如果使用 DBAPI2 对象,则仅支持 sqlite3。
- index_colstr 或 str 列表,可选,默认:None
要设置为索引(多索引)的列。
- coerce_floatbool, default True
尝试将非字符串、非数字对象(如 decimal.Decimal)的值转换为浮点数。对于 SQL 结果集很有用。
- paramslist, tuple 或 mapping,可选,默认值:None
要传递给 execute 方法的参数列表。用于传递参数的语法取决于数据库驱动程序。检查您的数据库驱动程序文档,了解 PEP 249 的 paramstyle 描述的五种语法样式中哪一种受支持。例如,对于 psycopg2,使用 %(name)s,因此使用 params={‘name’ : ‘value’}。
- parse_dates列表或字典,默认:None
要解析为日期的列名的列表。
字典,格式为
{column_name: format string},其中 format string 在解析字符串时间时与 strftime 兼容,或者在解析整数时间戳时为 (D, s, ns, ms, us) 之一。字典,格式为
{column_name: arg dict},其中 arg dict 对应于pandas.to_datetime()的关键字参数。当使用不原生支持 Datetime 的数据库(如 SQLite)时尤其有用。
- chunksizeint,默认 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":返回支持可空 dtype 的DataFrame(默认)。"pyarrow":返回 pyarrow 支持的可空ArrowDtypeDataFrame。
在 2.0 版本加入.
- Returns:
- DataFrame 或 Iterator[DataFrame]
参见
read_sql_table将 SQL 数据库表读入 DataFrame。
read_sql将 SQL 查询或数据库表读取到 DataFrame。
Notes
通过 parse_dates 参数解析的任何带有时区信息的 datetime 值都将转换为 UTC。
Examples
>>> 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)