DataFrame数据写入Oracle+命令行导出.dmp文件

本文介绍了如何将DataFrame数据一次性写入Oracle数据库,解决空值插入问题,以及使用.to_sql()函数避免手动创建表格。同时,讨论了通过命令行将Oracle表格导出为.dmp文件的方法。
摘要由CSDN通过智能技术生成
  • DataFrame数据一次性写入Oracle数据库

需求:将程序处理后的dataframe结果数据批量插入Oracle某个用户的表格中,数据包括VARCHAR2, NUMBER, DATE等多种格式,某些单元格包含空值,且空值不能用0填充

  • 遇到的问题

1、查到的一种方法是先在Oracle中创建好表格,将dataframe转换为list,再利用executemany()函数进行批量插入,执行时程序未报错,Oracle表格中没有数据,出错程序如下

import cx_Oracle

#批量写入数据函数
def save2oracle(db_w, insert_l, insert_sql):
    cursor_oracle = db_w.cursor()
    cursor_oracle.executemany(insert_sql, insert_l)
    cursor_oracle.close()

#与数据库建立连接的参数
tns_write = cx_Oracle.makedsn("localhost",1521, "orcl")
db_write = cx_Oracle.connect('用户名','密码',tns_write)

#数据写入
result2list = results.values.tolist()
insert_sql = """insert into TABLENAME(字段1,字段2,字段3,字段4,字段5)
                values(:1,:2,to_date(:3,'yyyy-mm-dd'),:4,:5)"""
save2oracle(db_write, result2list, insert_sq
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值