我最近遇到了一个问题,似乎无法解决。在我的项目中,我需要将 pandas 数据帧的索引设置为 Json 文件中找到的变量。我正在使用的 JSON 文件如下所示:
{
"data": {
"events": [
{
"id": "3745060",
"externalIds": [
{
"id": "10244973",
"provider": "betgenius"
},
{
"id": "sr:match:41888589",
"provider": "betradar"
}
],
"extKey": null,
"retailCode": null,
"name": "Norwich City FC v Ipswich Town",
从这个文件中我需要提取变量“name”。为了尝试使用它,我使用了以下代码行:
api = 'https://content.toto.nl/content-service/api/v1/q/event-list?startTimeFrom=2024-04-05T22%3A00%3A00Z&started=false&maxMarkets=10&orderMarketsBy=displayOrder&marketSortsIncluded=--%2CCS%2CDC%2CDN%2CHH%2CHL%2CMH%2CMR%2CWH&marketGroupTypesIncluded=CUSTOM_GROUP%2CDOUBLE_CHANCE%2CDRAW_NO_BET%2CMATCH_RESULT%2CMATCH_WINNER%2CMONEYLINE%2CROLLING_SPREAD%2CROLLING_TOTAL%2CSTATIC_SPREAD%2CSTATIC_TOTAL&eventSortsIncluded=MTCH&includeChildMarkets=true&prioritisePrimaryMarkets=true&includeCommentary=true&includeMedia=true&drilldownTagIds=691&excludeDrilldownTagIds=7291%2C7294%2C7300%2C7303%2C7306'
re = r.get(api)
red = re.json()
df = pd.json_normalize(red, record_path=['data', 'events'], meta=[['data', 'events', 'markets', 'outcomes', 'type'], ['data', 'events', 'markets', 'outcomes', 'subType'], ['data', 'events', 'name']])
#meta_col = 'data.events.markets.outcomes.type'
#meta_thuis = 'data.events.markets.outcomes.subType'
game = df['name']
print(game)
我对不同的 JSON 文件和不同的变量使用了类似的代码,但从未遇到过这个问题。不知道解决这个问题的下一步是什么,所以肯定需要一些帮助<3
这是您要找的吗?
import pandas as pd
import requests
api = 'https://content.toto.nl/content-service/api/v1/q/event-list?startTimeFrom=2024-04-05T22%3A00%3A00Z&started=false&maxMarkets=10&orderMarketsBy=displayOrder&marketSortsIncluded=--%2CCS%2CDC%2CDN%2CHH%2CHL%2CMH%2CMR%2CWH&marketGroupTypesIncluded=CUSTOM_GROUP%2CDOUBLE_CHANCE%2CDRAW_NO_BET%2CMATCH_RESULT%2CMATCH_WINNER%2CMONEYLINE%2CROLLING_SPREAD%2CROLLING_TOTAL%2CSTATIC_SPREAD%2CSTATIC_TOTAL&eventSortsIncluded=MTCH&includeChildMarkets=true&prioritisePrimaryMarkets=true&includeCommentary=true&includeMedia=true&drilldownTagIds=691&excludeDrilldownTagIds=7291%2C7294%2C7300%2C7303%2C7306'
res = requests.get(api).json()
df = pd.DataFrame({'name': map(lambda x: x['name'], res['data']['events'])})
display(df)
结果:
name
0 Norwich City FC v Ipswich Town
1 Blackburn Rovers v Southampton FC
2 Cardiff City v Hull City
3 Coventry City v Leeds United
4 Huddersfield Town v Millwall
5 Leicester City v Birmingham City
6 Middlesbrough v Swansea City
7 Queens Park Rangers v Sheffield Wednesday
8 Stoke City v West Bromwich Albion
9 Sunderland AFC v Bristol City
10 Watford v Preston North End