栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python将excel数据导入Oracle表中

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python将excel数据导入Oracle表中

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()
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号