Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的键错误,即使该键存在_Python_Python 3.x_List - Fatal编程技术网

Python中的键错误,即使该键存在

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)

这几天来我一直在挠头,似乎找不到在线解决问题的方法。我正在尝试访问zendesk上的数据并进行分页。由于某种原因,我得到了一个keyrerror,即使我可以看到该键确实存在。这是我的密码:

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…)
。真不敢相信我错过了,谢谢!然而,我仍然给我这个错误…好电话!对不起,我错过了。但是,一旦我更改了它,仍然会收到消息!输出是否相同?