利用python往oracle写数据
来源:互联网 发布:编写一个java应用程序 编辑:程序博客网 时间:2024/06/03 03:36
最近需要整理一些Oracle数据表,由于python用习惯了,直接就python转换,然后存入。在处理的过程中遇到了一些问题,好在最后都解决了,现将代码贴一下,作为自己的一个阶段性小总结把。主要处理步骤如下:
# coding=utf-8#设置语言环境import osos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'#设置数据库链接import cx_Oracleconn_str = 'username/password@数据库服务器地址:1521/dzzwdb'connection_oracle = cx_Oracle.Connection(conn_str)cursor_oracle = connection_oracle.cursor()
sql = 'select distinct rule_condition from BIGDATATEAM.CASE_ASSOCIATION_RULES'cursor_oracle.execute(sql)data = cursor_oracle.fetchall()#使用dataframe进行处理import pandas as pddf = pd.DataFrame(list(data),columns=['mxmc'])#产生唯一编号import uuiduuid_list = [str(uuid.uuid1()) for i in range(df.shape[0])]df['mxbm'] = pd.Series(uuid_list)#生成处理时间import datetimetime_list = [datetime.datetime.now()]* df.shape[0]df['tjsj'] = pd.Series(time_list)#展示前5行df.head()
#循环逐条插入for i in range(df.shape[0]): sql = "insert into bigdatateam.mx1(mxbm, mxmc, tjsj, zt) values ('"+str(df['mxbm'][i])+"','"+str(df['mxmc'][i])+"',to_timestamp('"+str(df['tjsj'][i])+"','yyyy-mm-dd hh24:mi:ss:ff'), '"+'finished'+"')" #print('sql = '+sql) cursor_oracle.execute(sql)connection_oracle.commit()
#关闭游标和连接cursor_oracle.close()connection_oracle.close()本来插入数据的时候是批量插入的,如下代码所示。但数据库总是报错“非法的变量名/编号”,检查了很久也没发现问题在哪儿,但赶着交东西,就换成逐条插入了。后来又遇到了这个问题,重启了pl/sql和jupyter notebook就好了,迷之神奇~!
def save2oracle(data, clean_data = True): if clean_data: cursor_oracle.execute('truncate table bigdatateam.mx') connection_oracle.commit() cursor_oracle.execute('select * from bigdatateam.mx') db_types = [d[1] for d in cursor_oracle.description] cursor_oracle.bindarraysize = len(data) cursor_oracle.setinputsizes(*db_types) sql = '''insert into bigdatateam.mx (mxbm,mxmc,mxsm,updatetime) values (:1,:2,:3,:4) ''' cursor_oracle.executemany(sql, data) connection_oracle.commit()save2oracle(insert_data, True)
阅读全文
0 0
- 利用python往oracle写数据
- python 批量写oracle
- python往excel中写数据
- python sqlalchemy 写数据
- oracle 利用batch批处理数据
- 利用ORACLE实现数据抽样
- oracle利用游标数据初始化
- python向mysql写数据
- 利用 Python 练习数据挖掘
- 利用 Python 学习数据挖掘
- 利用python分析邮件数据
- 利用 Python 练习数据挖掘
- 利用python对数据分流
- 利用 Python 练习数据挖掘
- 《利用Python进行数据挖掘》
- 利用Python处理Excel数据
- 利用python读csv数据
- 利用python多线程更新数据
- nginx配置location总结
- 浮点,内存,二进制,十进制浮点转二进制
- 数据结构排序算法之冒泡排序法
- js基础-BOM
- Porting WiFi drivers to Android
- 利用python往oracle写数据
- mssql注入
- 将生成的测试报告发送邮件
- 实现浏览器兼容版的inline-block显示
- Viewpager无限自动轮播(网络请求)
- Linux 控制台登陆用户输入密码正确无法进入,反复提示登录
- 用shell通过jps -m来杀死进程
- Python生成MD5密码字典库
- SQL语句面试题目