嗨,我还在学习蟒蛇的初级阶段。我正在尝试使用他们的api系统从Coinmarketcap.com中提取数据。我可以用一本大字典获得输出,但似乎不知道如何提取特定的数据。我想收到的只是‘价格’和‘最后更新’。
我尝试过引用.loads并将数据切片到列表中。我也尝试在字典中索引,但是输出中的嵌套字典使我很难理解。我看过很多youtube教程,也在谷歌上搜索过帮助,但无法找到解决方案。任何帮助都将不胜感激!
import requests
import json
url ='https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest'
api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
headers = {'Accepts': 'application/json', 'X-CMC_PRO_API_KEY': api_key}
parameters = {'symbol': 'ADA'}
response = requests.get(url, headers = headers, params = parameters)
data = response.json()
data_str = json.dumps(data, indent = 2)
print(data_str)以下是字典的输出:
{“状态”:{“时间戳”:"2019-07-17T20:54:40.829Z","error_code":0,"error_message":null,“error_message”:空,7,"credit_count":1},"data":{"ADA":{"id":2010,"name":"cardano",“符号”:"ADA",“error_message”:"Cardano","num_market_pairs":90,"date_added":“2017-01T00:00:00.000Z”,“标签”:“可挖掘”,"max_supply":45000000000,"circulating_supply":25927070538,"total_supply":31112483745,"platform":null,"cmc_rank":12,"last_updated":"2019-07-17T20:54:04.000Z",“引号”:{“美元”:{“价格”:0.056165857414,"volume_24h":102375843.427606,"percent_change_1h":-0.816068,"percent_change_24h":5.42849,"percent_change_7d":-21.8139,"market_cap":1456216147.0000284,"last_updated":“2019-07-17T20:54:04.000Z”}
发布于 2019-07-17 21:15:12
在Python中,只需执行以下操作就可以访问字典的值
value = dict[key]在您的例子中,您有一个嵌套的JSON。您可以通过链接键来访问这些值。
你的JSON看起来
{
"status": {
"timestamp": "2019-07-17T20:54:40.829Z",
"error_code": 0,
"error_message": null,
"elapsed": 7,
"credit_count": 1
},
"data": {
"ADA": {
"id": 2010,
"name": "Cardano",
"symbol": "ADA",
"slug": "cardano",
"num_market_pairs": 90,
"date_added": "2017-10-01T00:00:00.000Z",
"tags": ["mineable"],
"max_supply": 45000000000,
"circulating_supply": 25927070538,
"total_supply": 31112483745,
"platform": null,
"cmc_rank": 12,
"last_updated": "2019-07-17T20:54:04.000Z",
"quote": {
"USD": {
"price": 0.056165857414,
"volume_24h": 102375843.427606,
"percent_change_1h": -0.816068,
"percent_change_24h": 5.42849,
"percent_change_7d": -21.8139,
"market_cap": 1456216147.0000284,
"last_updated": "2019-07-17T20:54:04.000Z"
}
}
}
}
}您可以访问的价格
price = data['data']['ADA']['quote']['USD']['price']希望它能帮上忙
发布于 2019-07-17 21:13:25
尽管有相似之处,但它并不是Python内置的字典。是JSON。您可以通过“键”值进行解析。示例:
import json
a = '{"status": {"timestamp": "2019-07-17T20:54:40.829Z", "error_code": 0, "error_message": null, "elapsed": 7}}'
b = json.loads(a)
print(b["status"]["elapsed"])注意,一旦您已经使用了请求,就不必导入json模块。例如:
requests.get(url).json()[0]["your_target"]) 分析你得到的响应,也许指数'0‘不适用。
https://stackoverflow.com/questions/57083971
复制相似问题