python导入oracle数据,Python连接oracle数据库

  python导入oracle数据,Python连接oracle数据库

  先决条件:oracle的单个实例已经在本地安装,并且可以通过plsql developer连接,或者通过TNS连接字符串远程连接到oracle集群。

  读取excel和写入数据库的方法有很多。这里用熊猫来写,比较简单,看完excel不需要整理数据。

  (免费学习推荐:python视频教程

  整个过程需要分两步进行:

  一、配置python连接oracle并测试成功

  网上有很多教程,但是大部分都没有这么详细,也没有解释连接单个实例和连接集群的区别。这里先介绍oracle单个实例的连接方式,再补充oracle集群的连接方式。

  版本:

  Window 10 64位

  python 3.6.8

  cx-Oracle 7.3.0

  安装过程:

  1、使用pip安装操作oracle的包:

  pip安装cx_Oracle==7.3.0

  2、手动配置cx_Oracle临时客户端:

  注意这里的电脑是64位的,用的即时客户端也是64位的。对于32位,请转到下面的下载地址。

  2.1、解压下面的文件

  链接:https://pan.baidu.com/s/1ARcdK8kgNKfQsNbP5ZEbKg

  捡码:lz0g

  Oracle即时客户端说明:

  https://docs . Oracle.com/en/database/Oracle/Oracle-database/19/lno ci/instant-client . html # GUID-6895 db45-97AA-4738-9959-BD 677d 610186

  Oracle即时客户端下载地址:

  https://www . Oracle.com/database/technologies/instant-client/downloads . html

  

2.2、放置到D盘某个位置,例如:

  00-1010控制面板3354系统和安全3354系统

  00-1010

2.3、配置环境变量

虽然cx_Oracle的导入有红色波浪线,一般认为导入不成功,但是这里你可以直接忽略它,直接运行测试代码。没有错误表示没问题。

  如果没有找到数据,则该用户下可能没有emp表。

  Import cx_Oracleimport os#设置了环境编码方法,可以解决数据库os中中文乱码读取的问题。Environ [nls _ lang]=简体中文_ China.utf8 #用户名/密码@ ip3360端口/实例名conn=CX _ Oracle . connect( kplin/12 SSS 3456 @ 192 . 168 . 124.

  sql=select * from emp

  游标. execute(sql)

  ret=cursor.fetchall()

  打印(ret)

  # cursor.commit()Exception as e :

  最终打印:

  cursor.close()

  二、使用pandas读取excel数据,使用sqlalchemy协助写入数据库

  1、安装sqlalchemy,pandas

  这里指定熊猫版本是因为熊猫最新版本在读写excel时会给出一些奇怪的错误。换成1.1.4版本就行了。

  pip安装pandas==1.1.4pip安装sqlalchemy2、准备一个excel表,命名为test.xlsx,写入以下测试数据

  3、测试读取并写入数据库

  #!/usr/bin/env python #-*-coding : utf-8-*-# date : 2021/3/14 # filename : excel _ to _ db # author : kpli从sqlalchemy import create _ engine from sqlalchemy import types # conn _ string= Oracle CX _ Oracle ://user : pass @ host 3360 port/dbname conn _ string= replace # df.to _ SQL (test ,con=engine,If _ exists= replace )# name字段会按照上面的写法写成clob字段类型,#如果我们想把名称改成varchar2类型,应该怎么做? #我们可以将名称指定为varchar 2()types len=df . name . str . len()。max () df.to _ SQL (test ,engine,if _ exists= replace ,dtype={name:类型。VARCHAR(len)})rows=engine . execute( SELECT * FROM TEST )。相关免费学习推荐:python教程(视频)

  以上是配置python连接oracle,读取excel数据,写入数据库的细节。其他相关文章请多关注盛行的IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: