【问题标题】:json - requests.get() params 'Too many values to unpack'json - requests.get() 参数“解包的值太多”
【发布时间】:2021-04-17 22:12:56
【问题描述】:

我正在创建一个自定义 COVID 数据框。我想只返回特定的参数。以下是我的代码。

import requests

params = {'Date','Deaths'}
resp = requests.get('https://api.covid19api.com/country/canada', params=params)
jsonResponse = resp.json()
print(jsonResponse)

我期望的结果将只是所有可用日期的日期和死亡信息。

但是,它返回错误“要解压的值太多(预期为 2)”。

您能否建议我如何获得所需的响应?

编辑:我不是在寻找特定键值对的实例(例如,当 Deaths = 27 时,我理解它会被编码为 params = {'Deaths':'27'}。相反,我只想提取日期和死亡键以及所有相关值以获得以下信息:

2020-03-22T00:00:00Z, 20

2020-03-23T00:00:00Z, 27

2020-03-24T00:00:00Z, 31 ...

有没有办法在调用 API 时指定这一点,还是我需要先检索 API 中的所有信息,然后过滤“日期”和“死亡”?

提前致谢!

【问题讨论】:

  • {'Date', 'Deaths'} => {'Date': 'Deaths'},应该是 2 点,否则就是 set
  • 如果您阅读堆栈跟踪,您可以看到它与参数有关,然后您查看您的代码并看到它;)
  • 我们不是开发者API,我们不知道,API提供的服务你自己看

标签: python json parameters python-requests


【解决方案1】:

您必须将参数定义为 {"key": "value"}。

【讨论】:

  • 打错字了,请不要回复
  • @azro 他声明的是集合而不是字典,这就是他看到该错误的原因。
  • 是的,看到了,但这只是一个拼写错误,肯定不是自愿的
  • @azro 如果其他人想回答你有什么问题?
  • @gravetii 至少是一个不错的答案,其中包含正确的 OP 代码。这就是 SO 的规则,有一个标志 optino 是“拼写错误”,非常明确应该为此关闭拼写错误
猜你喜欢
  • 2013-01-15
  • 1970-01-01
  • 2016-05-11
  • 2014-10-19
  • 2018-03-21
  • 2019-06-07
  • 2012-02-15
  • 1970-01-01
相关资源
最近更新 更多