将数据插入oracle

Posted 齐天大圣打妖怪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数据插入oracle相关的知识,希望对你有一定的参考价值。

#导入需要使用到的数据模块
import pandas as pd
import cx_Oracle
#读入数据
filepath = ‘E:\_DataSetcatering_sale.xls‘
data = pd.read_excel(filepath)

#建立数据库连接
db =cx_Oracle.connect(‘localhost‘,‘root‘,‘1234‘,encoding = "UTF-8",nencoding = "UTF-8")

#获取游标对象
cursor = db.cursor()
#创建数据库,如果数据库已经存在,注意主键不要重复,否则出错
try:
    cursor.execute(‘create table catering_sale(num int primary key,date datetime, sale float )‘)
except:
    print(‘数据库已存在!‘)

#插入数据语句
query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)"""

#迭代读取每行数据
#values中元素有个类型的强制转换,否则会出错的
#应该会有其他更合适的方式,可以进一步了解
for r in range(0, len(data)):
    num = data.ix[r,0]
    date = data.ix[r,1]
    sale = data.ix[r,2]
    values = (int(num), str(date), float(sale))
    cursor.execute(query, values)

#关闭游标,提交,关闭数据库连接
#如果没有这些关闭操作,执行后在数据库中查看不到数据 
cursor.close()
db.commit()
db.close()




#重新建立数据库连接
db = cx_Oracle.connect(‘localhost‘,‘root‘,‘1234‘,‘python_anylysis‘)
cursor = db.cursor()
#查询数据库并打印内容
cursor.execute(‘‘‘select * from catering_sale‘‘‘)
results = cursor.fetchall()
for row in results:
    print(row)
#关闭
cursor.close()
db.commit()
db.close()

  

 

 

 

以上是关于将数据插入oracle的主要内容,如果未能解决你的问题,请参考以下文章

使用python将数据从csv文件插入oracle时出现错误ORA-01722:无效数字

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

将数据插入oracle sql live [重复]

如何在 Toad for Oracle 中使用自定义代码片段?

如何向一个oracle表中快速插入很多条数据

Oracle数据的批量插入