pandas.read_sql

pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)[source]

将SQL查询或数据库表读入DataFrame。

参数:

sql:string SQL查询或SQLAlchemy可选(选择或文本对象)

要执行,还是数据库表名。

con:SQLAlchemy可连接(引擎/连接)或数据库字符串URI

或DBAPI2连接(回退模式)使用SQLAlchemy可以使用该库支持的任何DB。如果是DBAPI2对象,只支持sqlite3。

index_col:字符串或字符串列表,可选,默认:无

设置为索引的列(MultiIndex)

coerce_float:boolean,默认值为True

尝试将值转换为非字符串非数字对象(如decimal.Decimal)为浮点,对SQL结果集有用

params:list,tuple或dict,可选,默认:无

传递给执行方法的参数列表。用于传递参数的语法是数据库驱动程序相关的。检查数据库驱动程序文档,以支持PEP 249的paramstyle中描述的五种语法样式中的哪一种。例如。对于psycopg2,使用%(名称)s所以使用params = {'name':'value'}

parse_dates:list或dict,默认值:无

  • 要解析为日期的列名称列表
  • {column_name: 格式 字符串的格式字符串是strftime兼容的情况下解析字符串时间在解析整数时间戳的情况下,(D,s,ns,ms,us)之一
  • {column_name: arg dict}的词典,其中arg dict对应于pandas.to_datetime()对于没有原生Datetime支持的数据库(例如SQLite)非常有用

:list,默认值:无

从sql表中选择的列名称列表(仅在读取表时使用)。

chunksize:int,default无

如果指定,返回一个迭代器,其中chunksize是要包含在每个块中的行数。

返回:

DataFrame

也可以看看

read_sql_table
将SQL数据库表读入DataFrame
read_sql_query
将SQL查询读入DataFrame

笔记

此函数是read_sql_tableread_sql_query(以及用于向后兼容性)的便利包装,并根据提供的输入(数据库表名称或sql查询)委派给特定函数, 。委派的函数可能有更多关于这里没有列出的功能的特定注释。

Scroll To Top