我仍然试图掌握Python中的嵌套对象,并试图从这个数据结构中提取我想要的东西(使用.json()方法从网站XHR请求返回)。
{u'statColumns': [u'apps', u'subOn', u'minsPlayed', u'assistCross', u'assistCorner',
u'assistThroughball', u'assistFreekick', u'assistThrowin', u'assistOther', u'assist'], u'paging':
{u'firstRecordIndex': 0, u'resultsPerPage': 0, u'lastRecordIndex': 0, u'totalPages': 0,
u'currentPage': 1, u'totalResults': 0}, u'teamTableStats': [{u'seasonId': 0, u'ranking': 1,
u'assistFreekick': 0.0, u'minsPlayed': 810, u'tournamentName': u'Premier League', u'rating':
7.35092043142043, u'assistThroughball': 0.4444444444444444, u'tournamentRegionCode': None, u'apps':
9, u'seasonName': None, u'teamName': u'Chelsea', u'tournamentRegionId': 252, u'regionCode': u'gb-
eng', u'teamId': 15, u'assistThrowin': 0.0, u'assistCorner': 0.3333333333333333, u'tournamentId': 2,
u'assistOther': 1.0, u'assistCross': 0.5555555555555556, u'assist': 0.0, u'name': u'Chelsea'},
...
...
...
{u'seasonId': 0, u'ranking': 19, u'assistFreekick': 0.0, u'minsPlayed': 810, u'tournamentName':
u'Premier League', u'rating': 6.716523569023569, u'assistThroughball': 0.1111111111111111,
u'tournamentRegionCode': None, u'apps': 9, u'seasonName': None, u'teamName': u'Burnley',
u'tournamentRegionId': 252, u'regionCode': u'gb-eng', u'teamId': 184, u'assistThrowin': 0.0,
u'assistCorner': 0.0, u'tournamentId': 2, u'assistOther': 0.2222222222222222, u'assistCross': 0.0,
u'assist': 0.0, u'name': u'Burnley'}, {u'seasonId': 0, u'ranking': 20, u'assistFreekick': 0.0,
u'minsPlayed': 810, u'tournamentName': u'Premier League', u'rating': 6.681928256928256,
u'assistThroughball': 0.0, u'tournamentRegionCode': None, u'apps': 9, u'seasonName': None,
u'teamName': u'Aston Villa', u'tournamentRegionId': 252, u'regionCode': u'gb-eng', u'teamId': 24,
u'assistThrowin': 0.0, u'assistCorner': 0.0, u'tournamentId': 2, u'assistOther': 0.2222222222222222,
u'assistCross': 0.0, u'assist': 0.0, u'name': u'Aston Villa'}]}
这是填充包含足球数据的网站上的表的XML HTTP请求。可以使用网站上的下拉菜单重新编辑/刷新/重新填充数据。该表包含英超联赛中20支球队的数据。
我想要的是在较大的嵌套结构中称为u'teamTableStats':
的字典列表的内容。其中的每个字典对应一个团队的数据。
我尝试过使用代码(其中responseser是使用.json()返回的对象:
for match in responser:
print "match = ", match
这会返回如下结果:
match = statColumns
match = paging
match = teamTableStats
当我真正想要的是这样的时候:
{u'seasonId': 0, u'ranking': 1,
u'assistFreekick': 0.0, u'minsPlayed': 810, u'tournamentName': u'Premier League', u'rating':
7.35092043142043, u'assistThroughball': 0.4444444444444444, u'tournamentRegionCode': None, u'apps':
9, u'seasonName': None, u'teamName': u'Chelsea', u'tournamentRegionId': 252, u'regionCode': u'gb-
eng', u'teamId': 15, u'assistThrowin': 0.0, u'assistCorner': 0.3333333333333333, u'tournamentId': 2,
u'assistOther': 1.0, u'assistCross': 0.5555555555555556, u'assist': 0.0, u'name': u'Chelsea'}
...
...
...
{u'seasonId': 0, u'ranking': 20, u'assistFreekick': 0.0,
u'minsPlayed': 810, u'tournamentName': u'Premier League', u'rating': 6.681928256928256,
u'assistThroughball': 0.0, u'tournamentRegionCode': None, u'apps': 9, u'seasonName': None,
u'teamName': u'Aston Villa', u'tournamentRegionId': 252, u'regionCode': u'gb-eng', u'teamId': 24,
u'assistThrowin': 0.0, u'assistCorner': 0.0, u'tournamentId': 2, u'assistOther': 0.2222222222222222,
u'assistCross': 0.0, u'assist': 0.0, u'name': u'Aston Villa'}
返回包含每个团队数据的字典。谁能告诉我我做错了什么以及我应该使用什么语法?
由于
答案 0 :(得分:0)
jsonObject[u'teamTableStats']
将为您提供与teamTableStats相对应的词典列表。
然后只需迭代它们并用它们做你想做的事情:
teamStatDicts = jsonObject[u'teamTableStats']
for statDict in teamStatDicts:
print "match =", statDict