具体代码如下:
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('用户/密码@实例名')
cursor = conn.cursor()
print('连接数据库成功!')
cursor.execute("select *from t_test_c ")
#本地文件
path = r"E:\soft\ceshi13.xls"
data = pd.read_excel(path)
print('读取excel成功!')
#定义数组
list_3 = []
for i in range(data.shape[0]):
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
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)
print('执行sql成功!')
#生成语句执行
cursor.executemany(sql_3,list_3)
print('执行插入成功!')
#提交
conn.commit()
#关闭
conn.close()
print('执行成功')
需要提前安装好相应的包。配置好相应的数据库信息,最容易出错的是给数组赋值问题,建的表要和数据的列一致,数组的赋值才能成功。
途中报错了很多,如果有什么问题,可以一起探讨。