學習自: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)