我是Python的新手,我很难获得Json变量。
payload = ""
headers = {
'Authorization': authorization,
'cache-control': "no-cache",
'Postman-Token': "65a104eb-1210-4eeb-880b-ceed78b21364"
}
response = requests.request("GET", url, data=payload, headers=headers)
x = json.loads(response.text, object_hook=lambda d: namedtuple('X',
d.keys())(*d.values()))
for a in x:
print(a.numeroComlink)
connection = cx_Oracle.connect('xxxxx/xxxxx@XE')
cursor = connection.cursor()
sql_insert = "insert into usu_obt_cot (usu_numclk) values (:usu_numclk)"
cursor.execute(sql_insert, {"usu_numclk": int(x.numeroComlink)})
connection.commit()
cursor.close()
如您在上面的代码中看到的,我在代码的中间打印了一个引用,指出下面的错误没有属性的确切字段。
从现在开始,我感谢您的关注。
答案 0 :(得分:0)
Cursor.execute
将仅执行一个插入语句,并且x中包含许多值。如果您希望它在list
“ x”中插入所有值,则可以在循环中执行一堆单个插入语句(这很简单,但可能效果不佳)...
...
sql_insert = "insert into usu_obt_cot (usu_numclk) values (:usu_numclk)"
for a in x:
cursor.execute(sql_insert, {"usu_numclk": int(a.numeroComlink)})
...
或者您可以follow the examples in this similar question并尝试使用Cursor.executeMany
进行批量插入。