【发布时间】:2014-11-01 14:56:30
【问题描述】:
我仍在尝试处理 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': 的字典列表的内容。其中的每个字典对应一个团队的数据。
我尝试过使用代码(其中 responser 是使用 .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'}
返回包含每个团队数据的字典的位置。谁能告诉我我做错了什么以及我应该使用什么语法?
谢谢
【问题讨论】:
标签: python json list dictionary