上代碼:sql
# -*- 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()
若是對您有幫助,請贊助根棒棒糖~數據庫