[英]Python Extracting Data from JSON without a label?
此处的API: https : //api.bitfinex.com/v2/tickers?symbols = ALL
没有任何标签,我想提取所有tBTCUSD,tLTCUSD等。基本上所有内容都没有数字。 通常,如果标记了标签,我会提取这些信息,以便我可以执行以下操作:
data['name']
或类似的东西,但是此API没有标签..我如何使用python获取此信息?
您可以这样做:
import requests
j = requests.get('https://api.bitfinex.com/v2/tickers?symbols=ALL').json()
mydict = {}
for i in j:
mydict[i[0]] = i[1:]
或使用字典理解:
mydict = {i[0]: i[1:] for i in j}
然后以以下方式访问它:
mydict['tZRXETH']
我目前无法访问Python,但看起来它们是由几个子数组的超数组组成的。
您应该能够将所有内容(超数组)提取为数据,然后执行以下操作:
for array in data:
print array[0]
不知道这是否能回答您的问题。 让我知道!
即使它没有标签(或更具体地说,如果它不是JSON对象),它也仍然是合法的JSON,因为它只是父数组中包含的一些数组。
假设您已经可以从api获取文本,则可以使用json.loads
其作为Python对象json.loads
:
import json
data = json.loads(your_data_as_string)
然后,由于要提取的标签始终位于数组的第一位置,因此可以使用列表理解将它们存储在列表中:
labels = [x[0] for x in data]
labels
将是:
['tBTCUSD', 'tLTCUSD', 'tLTCBTC', 'tETHUSD', 'tETHBTC', 'tETCBTC', ...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.