学习自:pandas.read_sql — pandas 1.2.4 documentation
(10条消息) pd.read_sql()参数详解_pandas.read_csv()参数详解-CSDN博客
pd.read_sql( sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None )
将一个SQL查询结果或者数据库表读入到DataFrame中。
这个函数是pandas.read_sql_table()、pandas.read_sql_query()更方便的封装,这两个函数可以在本文开头所写的文档中查询到,这里不再多说。
至于这个函数的作用具体跟哪个函数相同,取决于输入参数——如果传入一个SQL语句,则相当于执行read_sql_query,如果传入一个datebase table,则相当于执行read_sql_table。不过,之前所说的两个函数中会有某些更详细的功能,这里没有列出,如果需要可以去之前两个函数中查看。
参数 | 类型 | 说明 |
sql | str或SQLAlchemy Selectable | 需要执行的SQL查询语句或数据库表名 |
con | SQLAlchemy connectable,str,sqlite3 connection | 数据库连接的engine,一般可用于SQLAlchemy或pymysql之类的包建立 |
index_col | str或str list | index列 |
coerce_float | bool | 将数字形式的String转换为float读入 |
parse_dates |
list、dict |
将某一列日期型String转换为datetime类型,与pd.to_datetime()函数功能类似。 可以直接提供一个列名list,表示以默认format转换这些列 也可以用dict {column1 : format1, c2 : f2 , ...}将指定的列c转换为对应的格式f,一个format例子为"%Y:%m:%H:%M:%S"
|
params | list、tuple、dict | |
columns | list | 要选取的列;一般没用,因为SQL中一般选定了要选择的列了 |
chunksize | int | 如果选定该项并给出一个int值;那么每次会返回一个generator,每次迭代输出的行数是该值 |
DataFrame 或 Iterator(如果指定chunksize)
import pandas as pd import pymysql con = pymysql.connect(host="localhost", user="guest",password="password", db="db1",charset = "utf8",port=3333 ) sql='SELECT * FROM table1 LIMIT 82000,1000' df = pd.read_sql(sql,con)