配置python连接oracle,读取excel数据写入数据库

配置python连接oracle,读取excel数据写入数据库

前提条件:本地已经安装好oracle单实例,能使用plsql developer连接,或者能使用TNS连接串远程连接到oracle集群

读取excel写入数据库的方式有多种,这里介绍的是使用pandas写入,相对来说比较简便,不需要在读取excel后再去整理数据

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

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

立即学习“Python免费学习笔记(深入)”;

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

网上有不少教程,但大部分都没那么详细,并且也没有说明连接单实例和连接集群的区别,这里先介绍连接oracle单实例的方式,后续再补充连接oracle集群方式。

版本:
window 10 64位
python 3.6.8
cx-Oracle 7.3.0

安装流程:

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

pip install 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/lnoci/instant-client.html#GUID-6895DB45-97AA-4738-9959-BD677D610186
oracle即时客户端下载地址:
https://www.oracle.com/database/technologies/instant-client/downloads.html

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

在这里插入图片描述

2.3、配置环境变量

控制面板——系统和安全——系统
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4、重启电脑,让新配置的环境变量生效

2.5、测试配置是否成功

虽然导入cx_Oracle有红色波浪线,一般认为导入不成功,但这里可以先不管它,直接运行测试代码,没有报错说明没问题。
如果没有查到数据,也可能是该用户下没有emp表。

import cx_Oracleimport os# 设置环境编码方式,可解决读取数据库中文乱码问题os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'# 用户名/密码@IP:端口/实例名conn = cx_Oracle.connect('kplin/12sss3456@192.168.124.102:1521/ORCL')cursor = conn.cursor()try:    sql = 'select * from emp'    cursor.execute(sql)    ret = cursor.fetchall()    print(ret)    # cursor.commit()except Exception as e:    print(e)finally:    cursor.close()

登录后复制

在这里插入图片描述

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

1、安装sqlalchemy,pandas

这里指定pandas版本是因为最新版的pandas在读写excel的时候会有些奇怪的报错,换成1.1.4版本即可。

pip install pandas==1.1.4pip install sqlalchemy

登录后复制

2、准备一个excel表,命名为test.xlsx,写入以下测试数据

在这里插入图片描述

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

#!/usr/bin/env python# -*- coding:utf-8 -*-# date: 2021/3/14# filename: excel_to_db# author: kplinimport pandas as pdfrom sqlalchemy import create_enginefrom sqlalchemy import types# conn_string='oracle+cx_oracle://user:pass@host:port/dbname'conn_string='oracle+cx_oracle://KPLIN:654321@192.168.124.6:1521/ORCL'engine = create_engine(conn_string, echo=False)df = pd.read_excel('test.xlsx')# if_exists有三个可选值,'fail':如果存在该表则报错,'append':如果存在该表则将数据追加到列尾,'replace':如果存在该表则替换# df.to_sql('test', con=engine, if_exists='replace')# 按上面这种写入方式name字段将被写成clob字段类型,# 如果我们希望把name改为varchar2类型,怎么做?# 我们可以利用sqlalchemy的types把name指定为varchar2()类型len = df.name.str.len().max()df.to_sql('test', engine, if_exists='replace', dtype={'name': types.VARCHAR(len)})rows = engine.execute("SELECT * FROM TEST").fetchall()print(rows)

登录后复制

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

以上就是配置python连接oracle,读取excel数据写入数据库的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2245658.html

(0)
上一篇 2025年2月26日 21:54:38
下一篇 2025年2月26日 21:55:07

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • FacePoke— 开源的实时面部编辑工具,拖拽操作面部表情

    facepoke:一款基于ai的开源实时面部编辑工具 FacePoke是一款利用AI技术实现实时面部编辑的开源工具。用户只需简单的鼠标拖拽,即可轻松调整照片中人物的头部姿态(抬头、低头、摇头)和面部表情(眨眼、眼球转动、眉毛、嘴巴等),让静…

    2025年4月5日
    200
  • Debian syslog如何解析日志文件

    Debian系统使用syslog记录系统事件日志。本文介绍几种解析Debian syslog日志文件的方法: 1. 使用grep命令进行关键词搜索: grep “关键词” /var/log/syslog 例如,查找包…

    2025年4月5日
    200
  • 总结python Django在开发中的使用经验

    这次给大家带来总结python python在开发中的使用经验,在python django在开发中的python有哪些,下面就是实战案例,一起来看一下。 大三的时候第一次接触 Django,从真正使用 Django 做项目到现在也快 4 …

    编程技术 2025年4月4日
    200
  • Java面试题及答案的高效复习资料

    准备java面试时,高效复习的关键方法包括:1.分类复习,将题目按类型分类;2.动手实践,对于编程题自己动手写代码;3.模拟面试,提升表达和应变能力,这些方法能帮助你巩固知识并在面试中脱颖而出。 引言 在准备Java面试时,找到高效的复习资…

    2025年4月2日
    100
  • java软件开发就业前景怎么样

    Java 软件开发就业前景广阔,原因如下:行业需求旺盛:Java 广泛应用于金融、医疗等行业,企业对 Java 开发人员需求大。高薪水:Java 开发人员薪资通常高于行业平均水平。职业发展机会:Java 开发人员可晋升为高级开发人员、架构师…

    2025年4月2日
    100
  • 从Java框架社区获得帮助的途径

    从 java 框架社区获得帮助有多种途径:在线论坛和社区:stack overflow、java 论坛、github issues社交媒体:twitter、linkedin 群组文档和教程:框架文档、代码示例、书籍社区活动和会议:meetu…

    2025年4月2日
    200
  • Java 框架在其他编程语言中是否易于集成?

    java 框架可在多语言环境中集成,受平台兼容性、语言支持和中间层影响。平台兼容性:java 框架在 jvm 上运行,与 jvm 兼容的语言兼容。语言支持:部分 java 框架支持其他语言,如 groovy 和 kotlin。中间层:jna…

    2025年4月2日
    100
  • java框架与人工智能的集成应用

    java 框架与 ai 集成使应用程序能够利用 ai 技术,包括自动化任务、提供个性化体验和支持决策制定。通过直接调用或使用第三方库,java 框架可与 h2o.ai、weka 等框架无缝集成,从而实现数据分析、预测建模、神经网络训练等功能…

    2025年4月2日
    100
  • java配置环境怎么设置

    要配置 Java 开发环境,需要:安装 JDK 包含 Java 编译器和工具。配置 Java 路径将 JDK bin 目录添加到系统 PATH 中。安装 IDE 提供图形界面,包括代码编辑器和调试器。创建 Java 项目设置项目结构。编译 …

    2025年4月2日
    100
  • java怎么快速入门

    快速入门 Java:安装 JDK安装 IDE(如 IntelliJ IDEA)创建 Java 程序并运行(输出:”Hello, world!”)Java 核心概念:类和对象、数据类型、变量、方法、控制流。深入学习:面…

    2025年4月2日
    100

发表回复

登录后才能评论