我正在使用以下请求调用API:
def get_data(text, url='api.com'):
r = requests.get(url,
params={'key': '<My KEY>',
'in': text
'fj': 'm'})
if r.status_code != requests.codes.ok:
return np.nan
return r.json()
每一行都是这样的:
{'A': [{'param0': 'a',
'param1': 'b',
'param2': '342',
'param3': '$ 2342',
'param4': '234',
'param5': '555'}],
'status': {'code': '0', 'credits': '1', 'msg': 'OK'}}
如何将每个列转换为这样的元组:
[('param0','a'), ('param1','b'), ('param2', '342'), ('param3', '$ 2342'), ('param5', '555')]
在第一个实例中,我试图解析上面的输出,但是因为我得到了以后无法访问:
TypeError: the JSON object must be str, not 'float'
知道如何获取元组列表吗?。
答案 0 :(得分:1)
d = {'A': [{'param0': 'a',
'param1': 'b',
'param2': '342',
'param3': '$ 2342',
'param4': '234',
'param5': '555'}],
'status': {'code': '0', 'credits': '1', 'msg': 'OK'}}
[i for i in d['A'][0].items()]
出:
[('param1', 'b'),
('param5', '555'),
('param0', 'a'),
('param4', '234'),
('param3', '$ 2342'),
('param2', '342')]
如果您正在处理JSON数据,还有一个内置的JSON 解码器:
>>> import requests
>>> r = requests.get('https://api.github.com/events')
>>> r.json()
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...