python将excel数据导入Oracle表中

本文介绍了如何使用Python库cx_Oracle和xlrd读取Excel文件的特定sheet数据,然后将数据插入到Oracle数据库的表格中。步骤包括打开Excel、遍历数据、建立Oracle连接、执行SQL操作并提交事务。
摘要由CSDN通过智能技术生成

import cx_Oracle
import xlrd

###读取excel数据####
path=r'D:\*************\数据清单.xlsx'

###打开指定excel的特定sheet页并将数据存放于临时二维列表中
def open_excel(path,sheet_num):
    ####path:excel路径,sheet_num:sheet页序号,第几个sheet页
    file=xlrd.open_workbook(path)
    file_8=file.sheets()[sheet_num]  
    sheet_row=file_8.nrows
    sheet_col=file_8.ncols
    data_list=[[] for i in range(sheet_row-1)]###生成一个二维列表,用于存放excel数据
    for i in range(1,sheet_row):
        for j in range(sheet_col):
            data_list[i-1].append(file_8.cell_value(i,j))####data_list从i-1下表开始插入
    return data_list

#####与Oracle数据库建立连接
def conn_db(usr,pwd,dsn):
    db=cx_Oracle.connect(usr,pwd,dsn)
    return db

usr='usr1'
pwd='usr1'
dsn='**.**.***.***:1521/test'
db=conn_db(usr,pwd,dsn)
dbcursor=db.cursor()
dbcursor.execute('truncate table tab_test')####先清空表中数据
exec_sql='insert into tab_test(xh, tabname_cn, \
tabname_en, system) values(:1,:2,:3,:4)'  ######1,2,3,4占位要插入的数据

data_list=open_excel(path,7)  ###打开第七个sheet页
for i in range(len(data_list)):
    dbcursor.execute(exec_sql,data_list[i][:4])####目标表只有4列,只将前4列插入目标表,注意插入的列数量要保持一致,否则报错无效绑定变量等错误
db.commit()
dbcursor.close()
data_list.clear()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值