【发布时间】:2019-07-26 23:30:46
【问题描述】:
我正在向一个表中插入多个条目。除了一列之外,插入语句的所有列的值都是相同的。如程序所示,此特定列从 excel 文件中连续获取值。我不知道如何使用 cx_Oracle 模块将此增量值传递给插入查询。
我尝试使用代码中显示的绑定概念,但没有任何成果,请建议。
import pandas as pd
df=pd.read_excel(r'C:\Users\ABHISHEK.POUDEL\Desktop\mmyyyy.xlsx')
import cx_Oracle
con=cx_Oracle.connect('system/manager1@192.168.8.72:1521/SANUPS')
cur=con.cursor()
print(con.version)
print(df.head(5))
x=df.head(5)
size=x.size
sql="""Insert into tbaadm.hol (CAL_B2K_TYPE,CAL_B2K_ID,MMYYYY,DEL_FLG,HLDY_STR,COMMENT_STR,RECVD_STR,STATUS,LCHG_USER_ID,LCHG_TIME,RCRE_USER_ID,RCRE_TIME,TS_CNT,BANK_ID)
VALUES ('BRANCH','910',:1,'N',null,null,null,' ','SYSTEM',to_date('25-JUL-19','DD-MON-YY'),'SYSTEM',to_date('25-JUL-19','DD-MON-RR'),0,'01')"""
def insert_func(val):
val=str(val)
#cur.execute(sql,(val))
cur.execute("""Insert into tbaadm.hol (CAL_B2K_TYPE,CAL_B2K_ID,MMYYYY,DEL_FLG,HLDY_STR,COMMENT_STR,RECVD_STR,STATUS,LCHG_USER_ID,LCHG_TIME,RCRE_USER_ID,RCRE_TIME,TS_CNT,BANK_ID)
VALUES ('BRANCH','910',:1,'N',null,null,null,' ','SYSTEM',to_date('25-JUL-19','DD-MON-YY'),'SYSTEM',to_date('25-JUL-19','DD-MON-RR'),0,'01'), val""")
return
for f in range(size):
print(f)
print(df.iloc[f])
insert_func(df.iloc[f])
con.commit()
con.close()
11.2.0.2.0
MMYYYY
0 122099
1 122098
2 122097
3 122096
4 122095
0
MMYYYY 122099
Name: 0, dtype: int64
Traceback (most recent call last):
File "D:\AVI\PYTHON\KOMODO_FILES\create_date_daily_files.py", line 40, in <module>
insert_func(df.iloc[f])
File "D:\AVI\PYTHON\KOMODO_FILES\create_date_daily_files.py", line 34, in insert_func
VALUES ('BRANCH','910',:1,'N',null,null,null,' ','SYSTEM',to_date('25-JUL-19','DD-MON-YY'),'SYSTEM',to_date('25-JUL-19','DD-MON-RR'),0,'01'), val""")
cx_Oracle.DatabaseError: ORA-00933: SQL command not properly ended
【问题讨论】: