python - 使用 Python 访问 Json 变量时出现 cx_Oracle 错误
问题描述
我是 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()
正如您在上面的代码中看到的,我在代码中间有一个打印,引用了下面错误所说的没有属性的确切字段。
从现在开始,我感谢您的关注。
解决方案
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)})
...
或者您可以按照这个类似问题中的示例并尝试使用Cursor.executeMany
.
推荐阅读
- javascript - React + Redux,render() 没有返回任何内容
- apache-spark - 在 pyspark 中添加 mmlspark 包
- primefaces - 在 PrimeFaces 4.0 中没有 getter 的 p:dataTable 排序
- r - 将第一行添加到空 data.frame 时,行号不同(NA vs 1)
- java - Javafx 如何实现一个忙和等待的对话例程
- python - 在 Python 中使用开始/结束标记搜索/替换标头
- typescript - 从 VS Code 中的 Typescript 调试器中删除 Javascript 变量
- java - 如何仅获取从java中特定帐户发送或接收的电子邮件
- javascript - 在 Firebase 中设置或组织工作
- react-admin - React-admin 没有编辑列表