【问题标题】:handling json response data inside a list inside a dictionary python 3.6在字典python 3.6中的列表中处理json响应数据
【发布时间】:2017-07-06 22:18:47
【问题描述】:

我尝试处理来自这个投注网站http://praktoreio.pamestoixima.gr/en/retail-football 的赔率。在很多帮助下,我向前推进,直到我得到一些数据

import requests
url = 'http://praktoreio.pamestoixima.gr/web/services/rs/
iFlexBetting/retail/games/15104/0.json?
shortTourn=true&startDrawNumber=686&endDrawNumber=686&sportId=s-
441&marketIds=0&marketIds=0A&marketIds=1&marketIds=69&marketIds=68&marketIds
=20&marketIds=21&marketIds=8&locale=en&brandId=defaultBrand&channelId=0'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}
resp = requests.get(url, headers=headers)
html = resp.json()
data_1 = html[0]['markets'][0]['codes'][0]['oddPerSet']['1']
data_X = html[0]['markets'][0]['codes'][1]['oddPerSet']['1']
data_2 = html[0]['markets'][0]['codes'][2]['oddPerSet']['1']
print('odds for win:', data_1)
print('odds for draw:', data_X)
print('odds for lose:', data_2)
data_CODE_0 = html[0]['code']
print('Game code:', data_CODE_0)

问题是我只得到元素 [0] 的那些。除了对每个元素执行上述操作之外,还有一种方法可以自动读取列表内字典内的列表内的浮点数据......自动?提前致谢

【问题讨论】:

    标签: python json list dictionary


    【解决方案1】:

    我不完全确定你在问什么,但你可以存储一个引用,然后循环遍历它。我还假设当你说element[0] 时,你的意思是你想要这种行为:

    for element in html: # loops through list
        data = element['markets'][0]['codes']
            for x in data:
                print(x['oddPerSet']['1'])
    

    【讨论】:

    • 非常感谢您的帮助,它对 html 中的 x 进行了一些更改:data = x['markets'][0]['codes'][0]['oddPerSet'] ['1'] 打印(数据)
    • 现在的问题是如果一个值为空或没有一个值会发生什么,例如 data = x['markets'][0]['codes'][2]['oddPerSet'] ['1']
    • 对于 Python 字典,您可以使用 .get() 为字段设置默认值。例如:x['markets'][0]['codes'][2]['oddPerSet'].get('1', 'No data!')
    猜你喜欢
    • 1970-01-01
    • 2020-05-20
    • 2016-05-10
    • 2023-02-15
    • 2018-09-13
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多