pandas.read_sql_query(sql,con,index_col = None,coerce_float = True,params = None,parse_dates = None,chunksize = None)源代码
将SQL查询读入DataFrame。
返回与查询字符串的结果集对应的DataFrame。(可选)提供index_col参数以使用其中一列作为索引,否则将使用默认整数索引。
参数: | sql:string SQL查询或SQLAlchemy Selectable(select或文本对象) 要执行的SQL查询。 con:SQLAlchemy可连接(引擎/连接),数据库字符串URI, 或sqlite3 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 要解析为日期的列名列表。 {column_name: format string}格式的字典,其中, 格式字符串在解析字符串时间时是与strftime兼容的, 或者在解析整数时间戳时是(D、s、ns、ms、us)兼容的。 {column_name: arg dict}格式的字典,其中arg dict对应于关键字参数, 特别适用于没有本机Datetime支持的数据库, 例如SQLite。pandas.to_datetime() chunksize:int,默认无 如果指定,则返回一个迭代器,其中chunksize是要包含在每个块中的行数。 |
返回: | 数据帧 |
例如,
import MySQLdbconn= MySQLdb.connect(host='myhost',port=3306,user='myusername', passwd='mypassword', db='information_schema')sql =""" SELECTdanceability, energy, loudness, speechiness, acousticness,instrumentalness, liveness, valence, tempo, activity FROM songs s, users u, song_user su WHEREactivity IS NOT NULL ANDs.id = su.song_id ANDsu.user_id = u.id ANDu.telegram_user_id = {}""".format(telegram_id)df_mysql = pd.read_sql_query(sql, conn)conn.close()