欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python连接Oracle工具类

程序员文章站 2023-11-02 15:39:34
上代码: 如果对您有帮助,请赞助根棒棒糖~ ......

上代码:

# -*- coding:utf-8 -*-
 
import cx_oracle
import pandas as pd

class oracle(object):
    def __init__(self,host,db,user,pwd):
        self.host = host
        self.user = user
        self.pwd = pwd
        self.db = db
 
    def __getconnect(self):
        if not self.db:
            raise(nameerror,"没有设置数据库信息")
        self.conn = cx_oracle.connect(self.user+'/'+self.pwd+'@'+self.host+'/'+self.db) 
        cursor = self.conn.cursor()
        if not cursor:
            raise(nameerror,"连接数据库失败")
        else:
            return cursor
 
    def execquery(self,sql):
        cursor = self.__getconnect()
        cursor.execute(sql)
        # 调出数据
        reslist = cursor.fetchall()
 
        #查询完毕后必须关闭连接
        self.conn.close()
        return reslist

    def execquerytodataframe(self,sql):
        cursor = self.__getconnect()
        cursor.execute(sql)
        # 调出数据
        reslist = cursor.fetchall()
        # cols为字段信息 例如((''))
        cols = cursor.description 
        #查询完毕后必须关闭连接
        self.conn.close()

        # 将数据转换为dataframe
        col = []
        for i in cols:
            col.append(i[0])
        data = list(map(list, reslist))
        data = pd.dataframe(data,columns=col) 

        return data
 
    def execnonquery(self,sql):
        cursor = self.__getconnect()
        cursor.execute(sql)
        self.conn.commit()
        self.conn.close()

 

如果对您有帮助,请赞助根棒棒糖~

python连接Oracle工具类