python读取oracle数据库数据库_Python读写Oracle数据库-程序员宅基地

技术标签: python读取oracle数据库数据库  

最近项目中需要用到Python调用Oracle实现读写操作,踩过很多坑,历尽艰辛终于实现了。性能怎样先不说,有方法后面再调优嘛。现在把代码和注意点记录一下。

1. 所需Python工具库

cx_Oracle,pandas,可以使用通过控制台使用pip进行安装(电脑中已经安装)

2203999c5a6bc24ff78d508cf9a4de6f.png

2. 实现查询操作

#工具库导入

import pandas as pd

import cx_Oracle

#注:设置环境编码方式,可解决读取数据库乱码问题

import os

os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

#实现查询并返回dataframe

def query(table)

host = "127.0.0.1"    #数据库ip

port = "1521"     #端口

sid = "test"    #数据库名称

dsn = cx_Oracle.makedsn(host, port, sid)

#scott是数据用户名,tiger是登录密码(默认用户名和密码)

conn = cx_Oracle.connect("scott", "tiger", dsn)</

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34508682/article/details/113678287

智能推荐

银联 php hex2bin,【密码学】银联有卡交易中密码的加密流程(php版)-程序员宅基地

文章浏览阅读180次。最近在做一个有关银联有卡交易的程序,在研究接口时,发现一个有趣的现象。对于密码加密,银联对不同语言有不同对待:Java版demo最全;NET版本被有意屏蔽(没有放开测试,不知是否正确);PHP版本直接找不到任何有关的踪迹!基于我们程序基本是PHP语言,所以不得已需要自己写这个模块,来完成密码的加密工作。学习加密实现原理理论先行,实践验证,这个方法论屡试不爽!在这里找到一个资料:密码键盘介绍四:Pi..._php sm2加密银联接口

如何解决EDIUS总是意外停止工作问题_edius打开工程文件程序崩溃-程序员宅基地

文章浏览阅读1.4w次。有些小伙伴在一开始使用EDIUS的时候,总是会出现一些小问题,比如添加素材时总是意外停止工作_edius打开工程文件程序崩溃

Java诊断神器:6到飞起的Arthas,这些功能赶紧安排一下!_arthas同时监控两个方法-程序员宅基地

文章浏览阅读400次。1.简介什么是 Arthas?摘录一段官方 Github 上的简介阿里巴巴Arthas是一种诊断工具,使我们能够监视,分析和诊断Java应用程序。使用Arthas的主要好处之一是,我们不需要更改代码,甚至不需要重新启动要监视的Java服务。在本文中,我们将先安装Arthas,然后再进行案例研究以演示Arthas的一些关键功能。最后,由于Arthas是用Java编写的,因此它是跨平台的,可以在Linux,macOS和Windows上正常地运行。2.下载和入门首先,让我们开始直接通过下载链接或使_arthas同时监控两个方法

java实现打印功能-程序员宅基地

文章浏览阅读7.5w次,点赞22次,收藏75次。前言在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java 提供的打印功能一直都比较弱。实际上最初的 jdk 根本不支持打印,直到 jdk1.1 才引入了很轻量的打印支持。所以,在以前用 Java/Applet/JSP/Servlet 设计的程序中,较复杂的打印都是通过调用 ActiveX/OCX 控件或者 VB/VC 程序来实现的,非常麻烦。实际上,SUN 公司也一直致力于 _java实现打印

关于用Class.forName(“com.mysql.jdbc.Driver”)注册数据库驱动_<% try { // 加载数据库驱动,注册到驱动管理器 class.forname("com.my-程序员宅基地

文章浏览阅读1.5k次。传统的使用jdbc来访问数据库的流程为: Class.forName(“com.mysql.jdbc.Driver”); String url = “jdbc:mysql://localhost:3306/test?user=root&password=123456″; Connection con = DriverManager.getConnection(url); Statem_<% try { // 加载数据库驱动,注册到驱动管理器 class.forname("com.mysql.jd</div>

modbus读取保持寄存器实例_modbus读取寄存器数据-程序员宅基地

文章浏览阅读8.4k次,点赞4次,收藏7次。读取103-110的实例,一共读取3个寄存器请求: 03 00 6B 00 0303 :功能码,表示读取保存寄存器006B,十六进制表示107,从107开始往后读取0003,十六进制表示读取3个寄存器响应: 03 06 02 2B 00 00 00 6403 功能码,直接复制请求的06 表示后面的数据有多少个字节..._modbus读取寄存器数据

随便推点

大专学历造假改成了211, 拿到了抖音Offer-程序员宅基地

文章浏览阅读529次。如图,是脉脉最近的一个热帖,一个“大牛”因为有“技术”但是没有“学历”,拿到抖音 2-2 Offer 以后选择造假,包括学历,工作经历,那么你觉得这波骚操作如何呢?先让我们看看大家的风向吧..._大专学历造假,拿到了抖音 offer 原创

再记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)-程序员宅基地

文章浏览阅读173次。在此之前项目有发生过两次类似的状况,都得以解决,但最近又会发现偶尔CPU会跑满,虽然之前使用过WinDbg解决过两次问题但人的记忆是不可靠的,今天处理同样问题的时候还是遇到了一些障碍,这一次希望可以记录的更全面些。 上两次的博文链接:记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)、EntityFramework中的线程安全,又是Dictionary。 首先请大家不要喷我..._entityframework线程安全

vb.net 接口POST方式传参数提交返回值_vb.net webclient post-程序员宅基地

文章浏览阅读1k次。Try Dim WebClientObj As New System.Net.WebClient() Dim PostVars As New System.Collections.Specialized.NameValueCollection() 'URL _vb.net webclient post

解决EditText 键盘imeOptions 设置后与换行冲突问题-程序员宅基地

文章浏览阅读604次。解决EditText 键盘imeOptions 设置后与换行冲突问题EditText imeOptions 设置必然需要设置singleLines=true 或者设置 inputType=“textXXX”, 这就不太符合需求。 解决办法:继承 EditTextpublic InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection connection = super.onCreate_解决edittext 键盘imeoptions 设置后与换行冲突问题

Pycharm配置Anaconda中的Tensorflow环境详解_pycharm配置anaconda的tensorflow-程序员宅基地

文章浏览阅读4.9w次,点赞6次,收藏21次。Pycharm配置Anaconda中的Tensorflow环境详解1.打开Pycharm软件,新建工程,点击File->Default Settings->Project Interprete2.默认的应该是anaconda下的python环境,我们点击Existing enviroment:3.点击右边...添加:4.找到anaconda目录下的envs,因为我装了两次Tensorfnslow(每创建一个环境,就可以安装一个,不冲突),所以可以看到我这边会有两个这种_pycharm配置anaconda的tensorflow

符号扩展,零扩展与符号缩减-程序员宅基地

文章浏览阅读1.6w次,点赞23次,收藏101次。1. 符号位扩展,零扩展,符号位缩减1.1 符号位扩展高级程序设计语言允许程序员使用包含不同大小整数的对象表达式。那么,当一个表达式的两个操作数大小不同时,有些语言会报错,有些语言则会自动将操作数转换成一个统一的格式。这种转换是有代价的,因此如果你不希望编译器在你不知情的情况下自动加入各种转换到原本非常完美的代码中,你就需要掌握编译器如何处理这些表达式。以-64为例,其8位的二进制补码(1100 0_符号扩展

推荐文章

热门文章

相关标签