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: 尝试将非字符串,非数字对象(如decimal.Decimal)的值转换为浮点值。 对SQL结果集很有用。 params: 要传递给执行方法的参数列表。用于传递参数的语法取决于数据库驱动程序。 检查数据库驱动程序文档, 了解PEP 249的paramstyle中描述的五种语法样式中的哪一种。例如, 对于 所以使用 parse_dates: 要解析为日期的列名列表。
格式字符串在解析字符串时间时是与 或者在解析整数时间戳时是(D、s、ns、ms、us)兼容的。
特别适用于没有本机Datetime支持的数据库, 例如SQLite。pandas.to_datetime() chunksize: 如果指定,则返回一个迭代器,其中chunksize是要包含在每个块中的行数。 |
返回: |
|
例如,
1)MySQLdb
import MySQLdb conn= MySQLdb.connect(host='myhost',port=3306,user='myusername', passwd='mypassword', db='information_schema') sql =""" SELECT danceability, energy, loudness, speechiness, acousticness, instrumentalness, liveness, valence, tempo, activity FROM songs s, users u, song_user su WHERE activity IS NOT NULL AND s.id = su.song_id AND su.user_id = u.id AND u.telegram_user_id = {} """.format(telegram_id) df_mysql = pd.read_sql_query(sql, conn) conn.close()
2)sqlite3
import pandas as pd import sqlite3 # 创建与数据库的连接 conn = sqlite3.connect('example.db') # 定义 SQL 查询 query = """ SELECT * FROM employees WHERE department = 'Sales'; """ # 使用 read_sql_query 执行查询并加载到 DataFrame df = pd.read_sql_query(query, conn) # 查看 DataFrame print(df) # 关闭连接 conn.close()