Python 3.x 1值与前面的元素类型不同

Python 3.x 1值与前面的元素类型不同,python-3.x,pandas,oracle11g,Python 3.x,Pandas,Oracle11g,我有一个dataframe,我用tolist()将其转换为一个数组数组,其结构如下 df2 = [['PEPE', 1, 1, 0, 'ARAUZ']...] where name = :1, id= :2, number_stage= :3, order= :4, last_name= :5 and i have this tuple ("name", "id", "number_stage" "order"

我有一个dataframe,我用tolist()将其转换为一个数组数组,其结构如下

 df2 = [['PEPE', 1, 1, 0, 'ARAUZ']...]
 where name = :1, id= :2, number_stage= :3, order= :4, last_name= :5  
and i have this tuple ("name", "id", "number_stage" "order", "last_name")
label=varchar(req)|name=varchar(req)|type=varchar(req)|type_flag=number(null)|type_flag2=numbe(null)r|conc=varchar(null)|prp=varchar(null)|active=varchar(null)|read=varchar(null)|required=varchar(null)|hint=varchar(null)|hint_img=varchar(null)|id=number(req)|n_stage=number(req)|ctry=number(req)|order=number(req)|lst_name=varchar(req)
但是在insert中,除了数据帧中的值之外,我还想设置定义的值

我的代码

 import cx_Oracle
    
    conn = cx_Oracle.connet(connection)
    try: 
       cur = conn.cursor()
       spt = "INSERT INTO user.table_name values('references',:1,'text',7,6,'F','A','Y','','','','',:2,:3,2,:4);"
       cur.executemany(spt, [df2])
       print("executed!")
    except Exception as err:
       print('Error', err)
    else:
       conn.commit()
但是它返回这个错误元素1的值与前面的元素类型不同,并且不是eNode,因为如果您能帮助我,请感谢您的评论

表结构

 df2 = [['PEPE', 1, 1, 0, 'ARAUZ']...]
 where name = :1, id= :2, number_stage= :3, order= :4, last_name= :5  
and i have this tuple ("name", "id", "number_stage" "order", "last_name")
label=varchar(req)|name=varchar(req)|type=varchar(req)|type_flag=number(null)|type_flag2=numbe(null)r|conc=varchar(null)|prp=varchar(null)|active=varchar(null)|read=varchar(null)|required=varchar(null)|hint=varchar(null)|hint_img=varchar(null)|id=number(req)|n_stage=number(req)|ctry=number(req)|order=number(req)|lst_name=varchar(req)

您好,Jonathan,您想做什么,我已经建议将数据帧转换为列表。这会成功地解决你的问题。顺便说一句,表的结构是什么(
user.table\u name
)?此外,当前数据帧的格式更好(前提是引用字符串,如
PEPE
LUIS
Albert
,如
'PEPE'
…等)。最有可能的是,当前的问题是由于混杂的数据类型造成的,例如
['PEPE',1,1,0,'ARAUZ']
。最后,
order
是一个保留关键字,除非被引用(
“order”
),否则不能用作表的列名。如果我知道,可以用表的结构编辑,虽然查询不存在,但当我编写它时,我完成了双引号“order”之间的order字段。你是对的,我必须从数据框创建列,我已经在这个问题中向你解释过了