【发布时间】:2020-07-14 08:22:02
【问题描述】:
如何创建一个循环,循环遍历 "productType":"WIN_ODDS_BSP" 的“价格”。
以下是 JSON 的示例:
"runners":[{"selectionId":"24369070",
"runnerName":"Bloomin Crafty",
"barrierNo":3,
"saddleClothNo":1,
"placedResult":2,
"startingPosition":1,
"trainerName":"Kathryn Durden",
"jockeyName":"Jarrod Fry",
"weight":58.0,
"silkColor":"Hot Pink Royal Blue Horseshoe Hot Pink Royal Blue \u0026 White Checked Sleeves \u0026 Cap",
"colorURL":"c20200713MURT/1364572.png",
"bestTote":10.4,
"markets":[{"productType":"WIN_ODDS_BSP",
"price":10.09,
"reductionFactor":8.33,
{"productType":"PLACE_ODDS_BSP",
"price":2.92,
"reductionFactor":13.85
}],
"bestNZTote":0}]
这是我的代码,一直到最后一行:
for marketid in marketids:
request2 = requests.get(f'https://betfair-data-supplier-prod.herokuapp.com/api/race_results/?market_id=1.{marketid}&nz_tote_event_id=',
headers={'User-Agent': 'Mozilla/5.0'})
json2 = request2.json()
for runner in json2['runners']:
for market in runner['markets']:
if market['productType'] in ['WIN_ODDS_BSP']:
for p in market['price']:
【问题讨论】:
-
我猜 p 是一个字段,而不是一个表格。
-
market['price']不是一个列表,你为什么在这里使用循环?你可以像market.get(productType) == 'WIN_ODDS_BSP'这样更改你的if语句,然后你可以使用market['price']访问价格
标签: python pandas loops for-loop