pandas.read_sql(sql,con,index_col = None,coerce_float = True,params = None,parse_dates = None,columns = None,chunksize = None)源代码
将SQL查询或数据库表读入DataFrame。
此功能是一个方便的包装read_sql_table和 read_sql_query(为了向后兼容)。它将根据提供的输入委托给特定的功能。SQL查询将被路由到read_sql_query,而数据库表名将被路由到read_sql_table。请注意,委托的功能可能有更多关于其功能的特定说明,此处未列出。参数:sql:string或SQLAlchemy可选(选择或文本对象)
要执行的SQL查询或表名。
con:SQLAlchemy可连接(引擎/连接)或数据库字符串URI
或DBAPI2连接(回退模式)
使用SQLAlchemy可以使用该库支持的任何数据库。如果是DBAPI2对象,
则仅支持sqlite3。
index_col:字符串或字符串列表,可选,默认值:无
要设置为索引的列(MultiIndex)。
coerce_float:boolean,默认为True
尝试将非字符串,非数字对象(如decimal.Decimal)的值转换为浮点,
这对SQL结果集很有用。
params:list,tuple或dict,optional,default:None
要传递给执行方法的参数列表。用于传递参数的语法取决于数据库驱动程序。
检查数据库驱动程序文档,
了解PEP 249的paramstyle中描述的五种语法样式中的哪一种。
例如,对于psycopg2,使用%(name)s,所以使用params = {'name':'value'}
parse_dates:list或dict,默认值:None
要解析为日期的列名的列表。
的字典,其中格式字符串是在解析的情况下的strftime兼容的字符串倍,
或是在解析整数时间戳的情况下(d,S,NS,MS,我们)之一。{column_name: format string}
dict of ,其中arg dict对应于关键字参数,特别适用于没有本机Datetime支持的数据库,
例如SQLite。{column_name: arg dict}pandas.to_datetime()
columns:list,默认值:None
从SQL表中选择的列名列表(仅在读取表时使用)。
chunksize:int,默认无
如果指定,则返回一个迭代器,其中chunksize是要包含在每个块中的行数。
返回:DataFrame(数据帧)
例如,import MySQLdb
mysql_cn= MySQLdb.connect(host='myhost',
port=3306,user='myusername', passwd='mypassword',
db='information_schema')
df_mysql = pd.read_sql('select * from VIEWS;', con=mysql_cn)
print 'loaded dataframe from MySQL. records:', len(df_mysql)
mysql_cn.close()