Python连接Oracle数据库读取和存储数据

Python连接Oracle数据库读取和存储数据

在生产环境中,绝大多数的数据都存储在数据库中。pandas提供了读取与存储关系型数据库数据的函数与方法。除了pandas库外,还需要使用SQLAlchemy库建立对应的数据库连接。SQLAlchemy配合相应数据库的Python连接工具(例如MySQL数据库需要安装mysqlclient或者pymysql库,Oracle数据库需要安装cx_oracle库),使用create_engine函数,建立一个数据库连接。pandas支持的数据库有Oracle、MySQL、SQLServer和SQLite等主流数据库。

以Oracle数据库为例,介绍pandas数据库数据读取和存储。

1.数据库数据读取

create_engine中填入的是一个连接字符串。在使用Python的SQLAlchemy时,MySQL和Oracle数据库连接字符串的格式如下:

数据库产品名+连接工具名://用户名:密码@数据库IP地址:数据库端口号/数据库名称?charset= 数据库数据编码
from sqlalchemy import create_engine
import pandas as pd
# 解决oracle中文乱码问题
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

# 创建oracle连接引擎,需要安装cx_oracle
# engine = create_engine("oracle+cx_oracle://username:password@host:port/servicename")
engine = create_engine('oracle+cx_oracle://scott:tiger@127.0.0.1:1521/XE?charset=utf8')
print(engine)

连接成功后会显示一下内容:

Engine(oracle+cx_oracle://scott:***@127.0.0.1:1521/XE?charset=utf8)

连接成功后可以进行查询等操作,如:
formlist = pd.read_sql_query(‘select table_name from user_tables’, con = engine)
相信学过数据库的小伙伴们都能明白是什么意思了。最后进行查询的输出即可。

print('数据库数据表清单为:','\n',formlist)

2.数据库数据存储

将DataFrame写入数据库中,同样也要依赖SQLAlchemy库的create_engine 函数创建数据库连接。数据存储只有一个to_sql方法。to_sql方法的语法及其常用参数如下。

DataFrame.to_sql('users', con=engine)
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值