蟒蛇。收集数据直到json文件结束

时间:2018-08-23 08:44:41

标签: python json api

binance_prices = {}

def get_binance_price():
    Prices = "https://api.binance.com/api/v3/ticker/price"
    r = requests.get(url=Prices)
    data = r.json()
    for coin in range(0,375):
        binance_prices.update( { data[coin]["symbol"]: data[coin]["price"]} )

我正在尝试从Binance获取所有硬币价格,并且上面的代码可以正常工作,但是问题是,如果它们将添加新硬币,我将无法捕获。所以我考虑将for coin in range(0,375):更改为

counter = 0
    while True:
        counter = counter + 1
        binance_prices.update( { data[counter]["symbol"]: data[counter]["price"]} )

但是如何退出循环?

1 个答案:

答案 0 :(得分:2)

您根本不会这样做。您需要遍历数据,而不是任意数字。

for coin in data:
    binance_prices.update( { coin["symbol"]: coin["price"]} )

这是Python中的一个重要原则,您始终总是直接在集合上进行迭代,而不是使用range和索引。