python - 使用python从数组内非命名嵌套字典中的键获取值
问题描述
我正在尝试使用 python 从数组中的嵌套字典中检索一个值,但我收到一个我不明白的错误。这是数组:
[
{
"Date": "11-02-2021",
"Open": 0.07284431,
"High": 0.0743014,
"Low": 0.06829016,
"Close": 0.06967585,
"Volume": 3818556738.8,
"Market Cap": 8941609529.45
},
{
"Date": "10-02-2021",
"Open": 0.07011055,
"High": 0.08109109,
"Low": 0.06852545,
"Close": 0.07289631,
"Volume": 6785088422.26,
"Market Cap": 9353895799.46
}
]
这就是我试图获得 Close 值的方式:
coin_data = scraper.get_data("json")
today_close_price = coin_data[0]['Close']
yesterday_close_price = coin_data[1]['Close']
我得到的错误是:
TypeError: string indices must be integers
但是,如果没有命名嵌套字典,我就不能使用字符串,我想使用键字符串来获取值。
解决方案
我认为您coin_data
的类型是 type str
,它不是结构,而是内部带有结构的字符串。请print(type(coin_data))
在您当前的代码中执行,它可能应该输出str
.
这样做可以解决您的问题(使用json.loads()
):
import json
coin_data = scraper.get_data("json")
coin_data = json.loads(coin_data)
today_close_price = coin_data[0]['Close']
yesterday_close_price = coin_data[1]['Close']
推荐阅读
- sql - SQL 将行从特定年份重复到当前年份
- java - 如何在 SpringBoot REST Api 中调用覆盖的 handleMethodArgumentNotValid?
- mysql - mysql容器连接被拒绝
- android - 为什么重复条目:META-INF/maven/com.samskivert/jmustache/pom.xml 虽然我不使用 jmustache?
- php - 通过 PHP 中的按钮传递值
- ionic-framework - 离子缓存服务 npm
- python - 在 Matplotlib 中使用 twinx 时条形图的奇怪行为
- google-bigquery - 如何在 Bigquery 中实现前瞻
- c - 使用 pthreads 加快从 0 到 N 的素数计数处理。我是否正确使用它们?
- angular - 从变量角度/打字稿加载组件