【发布时间】:2021-02-28 05:23:00
【问题描述】:
我有这段代码可以使用 cx_oracle 向表中插入数据,但出现了一些错误。
我的数据如下所示:
[['BOB', 20190619, 118.16, 118.38, 116.05, 117.8, 'No', 117.8, 117.8, 117.8, 0.0, 0.0, 0.0, nan, nan, nan, nan]
我对代码的尝试是这样的:
sql='INSERT INTO stockstats VALUES(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16)'
n = 0
for i in df.iterrows():
cursor_1.execute(sql,df_list[n])
n += 1
cursor_1.execute(sql,df_list[n])
cx_Oracle.DatabaseError: ORA-01036: illegal variable name/number
我也试过了,遇到了同样的问题:
sql = 'INSERT INTO stockstats VALUES(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16)'
cursor_1.executemany(sql, df.values.tolist())
cursor_1.executemany(sql, df.values.tolist())
cx_Oracle.DatabaseError: ORA-01036: illegal variable name/number
想知道我做错了什么。
任何 hep 都会很棒。
【问题讨论】:
-
你能分享
df。不清楚您的数据中有列或行。顺便说一句,数据中有 17 个逗号分隔的元素,但表中有 16 个绑定变量。
标签: python pandas oracle sql-insert cx-oracle