python连接Oracle数据库将本地Excel文件插入数据库表中,不需要安装Oracle客户端(小白自学中)

import cx_Oracle
import os
import pandas as pd
import xlrd
from sqlalchemy import create_engine
from sqlalchemy import types

# 设置环境编码方式,可解决读取数据库中文乱码问题
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

# 用户名/密码@IP:端口/实例名
conn = cx_Oracle.connect('用户名/密码@IP:端口/实例名')
cursor = conn.cursor()
print('连接数据库成功!')

cursor.execute("select *from  t_test_c ")

#读取文件本地文件在E盘目录下名称为ceshi13.xls
path = r"E:\soft\ceshi13.xls"
data = pd.read_excel(path)
print('读取excel成功!')

#通过数组list_3是整个表的参数
list_3 = []

for i in range(data.shape[0]):
        #数组insert_list3是一行的参数
        insert_list3 = []
        #读取一行的各个列的值
        for j in range(data.shape[1]):
             #一行的各个列拼接成一行
             insert_list3.append(str(data.iloc[i, j]))

        print(insert_list3)

        list_3.append(insert_list3)

        print ('list_3',list_3)
        #生成语句 --插入insert,表t_test_c表有14列
        sql_3 ='insert into t_test_c values(:0,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14)'
        print ('sql_3',list_3)

#生成语句执行,传参
cursor.executemany(sql_3,list_3)
print('执行插入成功!')
#提交
conn.commit()
#关闭
conn.close()
print('执行成功')

读取excel文件并写入数据库中,不用下载Oracle客户端,下载好cx_oracle软件包,如果本地连接PLSQL的话需要instantclient,把instantclient中的oci.dll,oraocci11.dll,oraociei11.dll 至python安装目录下的 Lib\site-packages,就可以直接连接了。

小白自学中摸索出的,有什么问题我们一起探讨。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值