zoukankan      html  css  js  c++  java
  • 将数据插入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中的数据

    import cx_Oracle
    spmcs_conn = cx_Oracle.connect(用户名,密码,id,encoding = "UTF-8",nencoding = "UTF-8")
    cur = spmcs_conn.cursor()
    reCount = cur.execute("select * from zc_zx")
    print(cur.fetchone())   #取到第一条数据
    print(cur.fetchone())   #取到第二条数据
    cur.scroll(-1,mode = 'relative')  #游标回退1
    print(cur.fetchone())   #取到第二条数据
    print(cur.fetchone())   #取到第三条数据
    cur.scroll(0,mode = 'absolute')  #游标回退0
    print(cur.fetchone())   #取到第一条数据
    print(cur.fetchone())   #取到第二条数据
    cur.close()
    spmcs_conn.close()
    

      上面只是介绍一下fetchone()的用法,实际操作中使用fetchall(),它能将查询到的数据一部取出,如果没有设置,取出数据的格式为列表嵌套列表。

  • 相关阅读:
    倒计时浏览器跳转JavaScript
    C#.NET中使用存储过程的方法及其优点
    利用GridView控件导出其他文件(导出Excel,导出Word文件)
    c#.net用JavaScript实现 时钟显示
    程序执行一半后可以跳出对话框选择是否继续执行
    FreeMarker 中文官方参考手册 For Freemarker 2.3.23
    Spring技术内幕之Spring Data JPA-自定义Repository实现
    ehcache入门基础示例
    SpringData JPA 接口和方法
    Springboot中使用缓存
  • 原文地址:https://www.cnblogs.com/xxupup/p/11792073.html
Copyright © 2011-2022 走看看