温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python Pandas pandas.read_sql函数的用法

发布时间:2021-06-21 15:49:11 来源:亿速云 阅读:633 作者:chen 栏目:开发技术

本篇内容主要讲解“Python Pandas pandas.read_sql函数的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python Pandas pandas.read_sql函数的用法”吧!

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函数的用法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI