Python Pandas pandas.read_sql函數(shù)實(shí)例用法
Pandas是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas 納入了大量庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。Pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。你很快就會(huì)發(fā)現(xiàn),它是使Python成為強(qiáng)大而高效的數(shù)據(jù)分析環(huán)境的重要因素之一。本文主要介紹一下Pandas中read_sql方法的使用。
pandas.read_sql(sql,con,index_col = None,coerce_float = True,params = None,parse_dates = None,columns = None,chunksize = None)
將SQL查詢或數(shù)據(jù)庫(kù)表讀入DataFrame。
此功能是一個(gè)方便的包裝read_sql_table和 read_sql_query(為了向后兼容)。它將根據(jù)提供的輸入委托給特定的功能。SQL查詢將被路由到read_sql_query,而數(shù)據(jù)庫(kù)表名將被路由到read_sql_table。請(qǐng)注意,委托的功能可能有更多關(guān)于其功能的特定說(shuō)明,此處未列出。
參數(shù):
sql:string或SQLAlchemy可選(選擇或文本對(duì)象)
要執(zhí)行的SQL查詢或表名。
con:SQLAlchemy可連接(引擎/連接)或數(shù)據(jù)庫(kù)字符串URI
或DBAPI2連接(回退模式)
使用SQLAlchemy可以使用該庫(kù)支持的任何數(shù)據(jù)庫(kù)。如果是DBAPI2對(duì)象,
則僅支持sqlite3。
index_col:字符串或字符串列表,可選,默認(rèn)值:無(wú)
要設(shè)置為索引的列(MultiIndex)。
coerce_float:boolean,默認(rèn)為True
嘗試將非字符串,非數(shù)字對(duì)象(如decimal.Decimal)的值轉(zhuǎn)換為浮點(diǎn),
這對(duì)SQL結(jié)果集很有用。
params:list,tuple或dict,optional,default:None
要傳遞給執(zhí)行方法的參數(shù)列表。用于傳遞參數(shù)的語(yǔ)法取決于數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。
檢查數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序文檔,
了解PEP 249的paramstyle中描述的五種語(yǔ)法樣式中的哪一種。
例如,對(duì)于psycopg2,使用%(name)s,所以使用params = {’name’:’value’}
parse_dates:list或dict,默認(rèn)值:None
要解析為日期的列名的列表。
的字典,其中格式字符串是在解析的情況下的strftime兼容的字符串倍,
或是在解析整數(shù)時(shí)間戳的情況下(d,S,NS,MS,我們)之一。{column_name: format string}
dict of ,其中arg dict對(duì)應(yīng)于關(guān)鍵字參數(shù),特別適用于沒(méi)有本機(jī)Datetime支持的數(shù)據(jù)庫(kù),
例如SQLite。{column_name: arg dict}pandas.to_datetime()
columns:list,默認(rèn)值:None
從SQL表中選擇的列名列表(僅在讀取表時(shí)使用)。
chunksize:int,默認(rèn)無(wú)
如果指定,則返回一個(gè)迭代器,其中chunksize是要包含在每個(gè)塊中的行數(shù)。
返回:
DataFrame(數(shù)據(jù)幀)
例如
import MySQLdbmysql_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()
內(nèi)容擴(kuò)展:
有沒(méi)有關(guān)于如何使用Pandas中的SQL查詢傳遞參數(shù)的示例?
特別是我正在使用SQLAlchemy引擎來(lái)連接到PostgreSQL數(shù)據(jù)庫(kù)。到目前為止,我發(fā)現(xiàn)以下工作:
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文檔說(shuō),params也可以作為一個(gè)dict來(lái)傳遞,但我似乎無(wú)法讓這個(gè)工作嘗試了:
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’])
到此這篇關(guān)于Python Pandas pandas.read_sql函數(shù)實(shí)例用法的文章就介紹到這了,更多相關(guān)Python Pandas pandas.read_sql函數(shù)詳解內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Intellij IDEA 2019 最新亂碼問(wèn)題及解決必殺技(必看篇)2. JS繪圖Flot如何實(shí)現(xiàn)動(dòng)態(tài)可刷新曲線圖3. ASP.NET MVC獲取多級(jí)類別組合下的產(chǎn)品4. 未來(lái)的J2EE主流應(yīng)用框架:對(duì)比Spring和EJB35. Android自定義View實(shí)現(xiàn)掃描效果6. 關(guān)于HTML5的img標(biāo)簽7. PHP5.0正式發(fā)布 不完全兼容PHP4 新增多項(xiàng)功能8. Android Manifest中meta-data擴(kuò)展元素?cái)?shù)據(jù)的配置與獲取方式9. JS+css3實(shí)現(xiàn)幻燈片輪播圖10. 利用django創(chuàng)建一個(gè)簡(jiǎn)易的博客網(wǎng)站的示例
