首頁 > 軟體

Python Pandas pandas.read_sql函數範例用法

2021-06-21 16:01:19

Pandas是基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。Pandas提供了大量能使我們快速便捷地處理資料的函數和方法。你很快就會發現,它是使Python成為強大而高效的資料分析環境的重要因素之一。本文主要介紹一下Pandas中read_sql方法的使用。

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()

內容擴充套件:

有沒有關於如何使用Pandas中的SQL查詢傳遞引數的範例?

特別是我正在使用SQLAlchemy引擎來連線到PostgreSQL資料庫。到目前為止,我發現以下工作:

df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
                     'where "Timestamp" BETWEEN %s AND %s'),
                   db,params=[datetime(2014,6,24,16,0),datetime(2014,6,24,17,0)],
                   index_col=['Timestamp'])

pandas檔案說,params也可以作為一個dict來傳遞,但我似乎無法讓這個工作嘗試了:

df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
                     'where "Timestamp" BETWEEN :dstart AND :dfinish'),
                   db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)},
                   index_col=['Timestamp'])

到此這篇關於Python Pandas pandas.read_sql函數範例用法的文章就介紹到這了,更多相關Python Pandas pandas.read_sql函數詳解內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com