基本上,我想得到前十名的加密货币名称。在给定的json屏幕截图中,每种加密货币都有其级别。无论如何,我可以在python中实现这一点吗?
提供指向所示https://api.nomics.com/v1/currencies/ticker?key=demo-26240835858194712a4f8cc0dc635c7a的图像的链接
发布于 2020-04-28 10:13:55
import requests
import json
resp = requests.get(url = "https://api.nomics.com/v1/currencies/ticker", params = {"key" :"demo-26240835858194712a4f8cc0dc635c7a"}) # Fetch response from API
resp = json.loads(resp.text)
final_names = []
for i in range(10): # JSON is ordered via Rank
final_names.append(resp[i]["name"])
print(final_names) # Print final names
希望这能回答你的问题!
发布于 2020-04-28 10:04:58
试试这个:
import json
# your saved json response from API
file_path = "full/path/to/file.json"
with open(file_path, "r") as f:
data = json.load(f)
top_10_names = [x["name"] for x in data[:10]]
# since the data is ordered by rank,
# you can take only the first 10 elements.
print(top_10_names)
发布于 2020-04-28 10:33:49
如果在json中默认情况下加密货币没有按等级排序,则解决方案:
import requests
from pprint import pprint
top_all = []
data = requests.get(url="https://api.nomics.com/v1/currencies/ticker",
params={"key": "demo-26240835858194712a4f8cc0dc635c7a"}).json()
for row in data:
top_all.append({"name": row["name"], "rank": row["rank"]})
top_all = sorted(top_all, key=lambda x: int(x["rank"]))
pprint(top_all[0:10])
https://stackoverflow.com/questions/61477459
复制相似问题