【Oracle】python调取oracle数据教程

目录

(1)安装python和相关库

1.python的下载和安装

2.python安装cx_Oracle库和pandas库

3.本机安装instantclient 数据库客户端

先安装instantclient

然后设置环境变量

(2)准备好连接Oracle数据库地址等五项信息

(3)用python连接到Oracle数据库

1.测试连接情况

2.获取数据示例代码


(1)安装python和相关库

1.python的下载和安装

这个自行上网搜索。

2.python安装cx_Oracle库和pandas库

打开"命令提示符"

输入pip install pandas安装pandas库

输入pip install cx_Oracle安装cx_Oracle库

3.本机安装instantclient 数据库客户端

先安装instantclient

因为不安装这个后面会报错:cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library

下载地址:Oracle Instant Client Downloads

注意下载的版本位数,python是64位的instantclient 就下64位的,python是32位的instantclient 就下32位的

然后选择了Version 12.2.0.1.0,下载了basic和sqlplus压缩包

将两者解压到同一个文件夹oracle下,他们的内容会自己放在一起

解压好了就行,免安装的,可以直接用。记得自己解压的路径位置,做好管理。

然后设置环境变量

变量名:Path

变量值:D:\software\oracle\instantclient_21_9

变量名:ORACLE_HOME

变量值:D:\software\oracle\instantclient_21_9

变量名:TNS_ADMIN

变量值:D:\software\oracle\instantclient_21_9\network\admin

变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

(2)准备好连接Oracle数据库地址等五项信息

  • IP地址
  • 端口
  • 用户名
  • 密码
  • 数据库名

(3)用python连接到Oracle数据库

1.测试连接情况

以下代码简单进行连接操作,看能不能连接上

# test.py
import cx_Oracle
if __name__ == '__main__':# 连接到Oracle数据库,需用户名、密码、ip、端口和数据库名conn = cx_Oracle.connect('用户名', '密码', 'ip地址:端口/数据库名')# conn = cx_Oracle.connect('用户名/密码@ip地址:端口/数据库名')# conn = cx_Oracle.connect('用户名', '密码', #                          cx_Oracle.makedsn('ip地址', '端口', None, '数据库名'))# 创建游标cursor = conn.cursor()print('连接数据库成功!')# 关闭游标和oracle数据库cursor.close()conn.close()

运行结果

2.获取数据示例代码

import cx_Oracle
import pandas as pdif __name__ == '__main__':# 连接到Oracle数据库,需用户名、密码、ip、端口和数据库名conn = cx_Oracle.connect('username', 'password', 'ip:端口/数据库名')# 创建游标cursor = conn.cursor()# 撰写sql语句,需要什么字段就查询什么字段sql = 'select S_INFO_WINDCODE,ANN_DT from AShareANNFinancialIndicator'# 通过游标和sql获取数据test = cursor.execute(sql)# print(test.fetchmany(50)) # 前50行数据data = test.fetchall()  # 全部数据# 获取英文列名title = [i[0] for i in cursor.description]print(title)print(type(title))# 数据处理df = pd.DataFrame(data=data, columns=title)print(data)pass# 关闭游标和oracle数据库cursor.close()conn.close()

end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux(Centos 7)环境下安装wget,并且更换阿里云镜像

Linux(Centos 7) Minimal 安装后,由于没有预装wget,在使用wget命令去下载安装相关应用时,提示:“wget: command not found” 先在Linux服务器窗口中,输入如下命令,检查Linux服务器有没有安装过wget。 rpm -…

deepflow grafana plugin 编译问题解决

修改tsconfig.js 增加"noImplicitAny": false,解决代码类型没有指定,显示Any 错误 To solve the error, explicitly set the parameters type to any, use a more specific type or set noImplicitAny to false in tsconfig.json. https://b…

【大学生电子竞赛题目分析】——2023年H题《信号分离装置》

今年的大赛已临近落幕,笔者打算陆续对几个熟悉领域的题目作一番分析与讨论,今天首先分析H题。 网上有一些关于H题的分析,许多都是针对盲信号分析的。然而本题具有明确的信号频率范围,明确的信号可能频率,明确的信号波…

Jmeter Beanshell 设置全局变量

//获取token import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONArray; import java.util.*; import org.apache.jmeter.util.JMeterUtils; //获取可上机机器 String response prev.getResponseDataAsString(); JSONObject responseObect JSONObjec…

什么是跨域? 出现原因及解决方法

什么是跨域? 出现原因及解决方法 什么是跨域 跨域:浏览器对于javascript的同源策略的限制 。 同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。 设想这样一种情况:A 网站是一家银行,用户登录以后…

K8S哲学 - statefulSet 灰度发布

kubectl get - 获取资源及配置文件 kubectl get resource 【resourceName -oyaml】 kubectl create - 指定镜像创建或者 指定文件创建 kubectl create resource 【resourceName】 --imagemyImage 【-f my.yaml】 kubectl delete kubectl describe resource resourc…

怎么把试卷答案去掉再打印出来?

在学习中,试卷无疑是检验学习成果的重要工具。然而,当我们想重新练习这些试卷,加深对知识点的理解和记忆时,答案的存在往往会成为他们复习路上的“绊脚石”。那么,有没有一种方法可以轻松去除试卷上的答案,…

亚马逊云科技AWS将推出数据工程师全新认证(有资料)

AWS认证体系最近更新,在原有12张的基础上,将在2023年11月27日添加第13张,数据工程师助理级认证(Data Engineer Associate),并且在2024/1/12前半价(省75刀=544人民币。 原有的数据分析专家级认证(Data Analytics Specia…

qt-C++笔记之滑动条QSlider和QProgressBar进度条

qt-C笔记之滑动条QSlider和QProgressBar进度条 —— 2024-04-28 杭州 本例来自《Qt6 C开发指南》 文章目录 qt-C笔记之滑动条QSlider和QProgressBar进度条1.运行2.阅读笔记3.文件结构4.samp4_06.pro5.main.cpp6.widget.h7.widget.cpp8.widget.ui 1.运行 2.阅读笔记 3.文件结构…

RuoYi-Vue-Plus (SPEL 表达式)

RuoYi-Vue-Plus 中SPEL使用 DataScopeType 枚举类中: /*** 部门数据权限*/DEPT("3", " #{#deptName} #{#user.deptId} ", " 1 0 "), PlusDataPermissionHandler 拦截器中定义了解析器: buildDataFilter 方法中根据注解的…

[LitCTF 2023]Ping、[SWPUCTF 2021 新生赛]error、[NSSCTF 2022 Spring Recruit]babyphp

[LitCTF 2023]Ping 尝试ping一下127.0.0.1成功了,但要查看根目录时提示只能输入IP 查看源代码,这段JavaScript代码定义了一个名为check_ip的函数,用于验证输入是否为有效的IPv4地址。并且使用正则表达式re来匹配IPv4地址的格式。 对于这种写…

机器学习:基于Sklearn、XGBoost框架,使用逻辑回归、支持向量机和XGBClassifier预测帕金森病

前言 系列专栏:机器学习:高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目,每个项目都处理一组不同的问题,包括监督和无监督学习、分类、回归和聚类,而且涉及创建深度学…

【已解决】Python Selenium chromedriver Pycharm闪退的问题

概要 根据不同的业务场景需求,有时我们难免会使用程序来打开浏览器进行访问。本文在pycharm中使用selenium打开chromedriver出现闪退问题,根据不断尝试,最终找到的问题根本是版本问题。 代码如下 # (1) 导入selenium from selenium import …

科研学习|论文解读——CVPR 2021 人脸造假检测(论文合集)

随着图像合成技术的成熟,利用一张人脸照片合成假视频/不良视频现象越来越多,严重侵犯个人隐私、妨碍司法公正,所以人脸造假检测越来越重要,学术界的论文也越来越多。 一、研究1 1.1 论文题目 Multi-attentional Deepfake Detecti…

自学Python爬虫js逆向(二)chrome浏览器开发者工具的使用

js逆向中很多工作需要使用浏览器中的开发者工具,所以这里以chrome为例,先把开发者工具的使用总结一下,后面用到的时候可以回来查询。 Google Chrome浏览器的开发者工具是前端开发者的利器,它不仅提供了丰富的功能用于开发、调试和…

什么是中间件?中间件有哪些?

什么是中间件? 中间件(Middleware)是指在客户端和服务器之间的一层软件组件,用于处理请求和响应的过程。 中间件是指介于两个不同系统之间的软件组件,它可以在两个系统之间传递、处理、转换数据,以达到协…

排序算法(2)快排

交换排序 思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 一、冒泡排序 public static…

uniapp:K线图,支持H5,APP

使用KLineChart完成K线图制作,完成效果: 1、安装KLineChart npm install klinecharts2、页面中使用 <template><view class="index"><!-- 上方选项卡 --><view class="kline-tabs"><view :style="{color: current==ite…

stm32单片机开发四、USART

串口的空闲状态时高电平&#xff0c;起始位是低电平&#xff0c;来打破空闲状态的高电平 必须要有停止位&#xff0c;停止位一般为一位高电平 串口常说的数据为8N1&#xff0c;其实就是8个数据位&#xff08;固定的&#xff09;&#xff0c;N就是none&#xff0c;也就是0个校验…

【多模态大模型】AI对视频内容解析问答

文章目录 1. 项目背景2. 直接对视频进行解析进行AI问答&#xff1a;MiniGPT4-Video2.1 MiniGPT4-Video效果 3. 对视频抽帧为图片再进行AI问答3.1 视频抽帧3.2 图片AI问答3.2.1 阿里通义千问大模型 Qwen-vl-plus3.2.2 Moonshot 1. 项目背景 最近在做一个项目,需要使用AI技术对视…