<返回更多

pandans中读写数据库方法

2022-09-23    KJ丶JK
加入收藏

读写数据库

大多数情况下,海量的数据是使用数据库进行数据库进行存储的,这主要是依赖于数据库的数据结构化、数据共享性、独立性等特点。因此,在实际生产环境中,绝大多数的数据都是存储在数据库中。pandas支持MySQL、Oracle、SQLite等主流数据库的读写操作。

为了高效地对数据库中的数据进行读取,这里需要引入SQLAlchemy。SQLAlchemy是使用Python/ target=_blank class=infotextkey>Python编写的一款开源软件,它提供的SQL工具包和对象映像工具能够高效地访问数据库。在使用SQLAlchemy时需要使用相应的连接工具包,比如MySQL需要安装mysqlconnector,Oracle则需要安装cx_oracle。

 


 

这里简单介绍几种安装mysqlconnector的方法

1. pip install mysql-connector
2. conda install mysql-connector
#注意如果都安装不成功,可能是python环境或anaconda环境配置没配好,可以试试重新安装软件或者配置文件

 


 

pandas.io.sql模块常用的函数

1. read_sql_table() : 将读取的整张数据表的数据转换成DataFrame对象

2. read_sql_query() :将SQL语句读取的结果转换成DataFrame对象

3. read_sql() :上述两个函数的结合,既可以读数据表也可以读SQL语句

4. to_sql():将数据写入到SQL数据库中

 


 

一、使用read_sql()函数读取数据

read_sql() 函数既可以读取整张数据表,又可以执行SQL语句,其语法格式如下:pandas.read_sql(sql,con,index_col=None,coerce_float=True,parmes=None,parse_dates=None,columns=None,chunksize=None)


 

常用参数的含义如下:

 

接下来,通过一个例子来演示如何使用read_sql()函数读取数据库中的数据表:

 

#上述中,首先导入了sqlalchemy模块,通过create_engine()函数创建连接数据库的信息,然后调用read_sql()函数读取数据库的student数据表,并转换成DataFrame对象

#在使用create_engine()函数创建连接时,格式为:"数据库类型+数据库驱动名称://用户名:密码@机器地址:端口号/数据库名"

 


 

read_sql()函数执行sql语句时的例子:

 

 


 

二 、使用to_sql()方法将数据写入数据库中

to_sql()方法的功能是将Series和DataFrame对象以数据表的形式写入数据库中,语法为:to_sql(name,con,schema=None,if_exists=‘fail’,index=True,index_label=None,chunksize=None,dtype=None)

 

 

每个取值代表的含义如下:

fail:如果表存在,则不执行写入操作

replace :如果表存在,则将源数据表删除再重新创建

append:如果表存在,那么在原数据库表的基础上追加数据


 

接下来,通过一个例子来演示如何使用to_sql()函数将DataFrame对象写入到名称为students数据表中:

 


 

#在使用to_sql()方法写入数据库时,如果写入的数据表名与数据库中其他的数据表名相同时,则返回该数据表已存在的错误

 


 

作者:今日头条 KJ丶JK /CSDN-KJ.JK

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>