Python中的键错误,即使该键存在
这几天来我一直在挠头,似乎找不到在线解决问题的方法。我正在尝试访问zendesk上的数据并进行分页。由于某种原因,我得到了一个keyrerror,即使我可以看到该键确实存在。这是我的密码:Python中的键错误,即使该键存在,python,python-3.x,list,Python,Python 3.x,List,这几天来我一直在挠头,似乎找不到在线解决问题的方法。我正在尝试访问zendesk上的数据并进行分页。由于某种原因,我得到了一个keyrerror,即使我可以看到该键确实存在。这是我的密码: data_users2 = [[]] while url_users: users_pagination = requests.get(url_users,auth=(user, pwd)) data_user_page = json.loads(users_pagination.text)
data_users2 = [[]]
while url_users:
users_pagination = requests.get(url_users,auth=(user, pwd))
data_user_page = json.loads(users_pagination.text)
print (data_user_page.keys())
for user in data_user_page['users']:
data_users2.append(user)
url = data_user_page['next_page']
以下是输出:
dict_keys(['users', 'next_page', 'previous_page', 'count'])
dict_keys(['error'])
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-22-fab95d95ddeb> in <module>
6 data_user_page = json.loads(users_pagination.text)
7 print (data_user_page.keys())
----> 8 for user in data_user_page["users"]:
9 data_users2.append(user)
10 url = data_user_page["next_page"]
KeyError: 'users'
dict_键(['users'、'next_page'、'previous_page'、'count']))
dict_键(['error'])
---------------------------------------------------------------------------
KeyError回溯(最近一次呼叫最后一次)
在里面
6 data_user_page=json.load(users_pagination.text)
7打印(数据\用户\页面.keys())
---->8对于数据用户页面中的用户[“用户”]:
9数据_users2.append(用户)
10 url=数据\用户\页面[“下一页”]
KeyError:'用户'
如您所见,用户确实存在。如果我试图打印下一页,也会发生同样的情况,下一页会出现一个键错误
任何帮助都将不胜感激!谢谢 您的代码在循环的第二次迭代中失败,此时您在
data\u user\u页面
中的键只是“错误”,您可以在粘贴的输出中看到这一点
dict_keys(['users', 'next_page', 'previous_page', 'count']) <----- FIRST ITERATION
dict_keys(['error']) <---- SECOND ITERATION, THEREFORE, YOUR KEY DOES NOT EXISTS
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-22-fab95d95ddeb> in <module>
6 data_user_page = json.loads(users_pagination.text)
7 print (data_user_page.keys())
----> 8 for user in data_user_page["users"]:
9 data_users2.append(user)
10 url = data_user_page["next_page"]
KeyError: 'users'
dict_键(['users'、'next_page'、'previous_page'、'count'])请注意,您打印了两组键。KeyError
不是来自第一次迭代,其中实际上存在一个“users”键,而是来自第二次迭代,该迭代只包含一个“error”键。(换句话说,您在确定下一页的URL时出错。)您将URL
设置到下一页,但在下一次调用请求时仍使用URL\u用户
。获取。您可能希望在进入循环之前设置url=url\u用户
,然后调用请求。在每次迭代中获取(url…)
。真不敢相信我错过了,谢谢!然而,我仍然给我这个错误…好电话!对不起,我错过了。但是,一旦我更改了它,仍然会收到消息!输出是否相同?