使用json项键入错误

时间:2014-10-07 21:26:29

标签: python json xmlhttprequest python-requests

我通过模仿XHR请求返回包含网站词典的json列表。代码如下:

import requests

url = 'http://www.whoscored.com/stageplayerstatfeed/-1/Overall'
params = {
'field': '0',
'isAscending': 'false',
'isMoreThanAvgApps': 'true',
'isOverall': 'false',
'numberOfPlayersToPick': '20',
'orderBy': 'Rating',
'page': '1',
'stageId': '9155',
'teamId': '-1'
}

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36',
           'X-Requested-With': 'XMLHttpRequest',
           'Host': 'www.whoscored.com',
           'Referer': 'http://www.whoscored.com/'}

responser = requests.get(url, params=params, headers=headers)
playerdata = responser.json()


for player in playerdata:


    print ("{TeamId},{PlayerId},{GameStarted},{SubOn},{SubOff},{Yellow},{SecondYellow},{Red},{Goals},{Assists},{TotalPasses},{AccuratePasses},"
"{AerialWon},{AerialLost},{Rating},{ManOfTheMatch},{TotalTackles},{Interceptions},{Fouls},{OffsidesWon},{TotalClearances},{WasDribbled},"
"{TotalShots},{ShotsOnTarget},{ShotsBlocked},{OwnGoals},{KeyPasses},{Dribbles},{WasFouled},{Offsides},{Dispossesed},{Turnovers},"
"{TotalCrosses},{AccurateCrosses},{TotalLongBalls},{AccurateLongBalls},{TotalThroughBalls},{AccurateThroughBalls},{RegionName},"
"{RegionCode},{RegionId},{TournamentId},{TournamentName},{SeasonId},{StageId},{TeamRegionCode},{TeamName},{TeamIsNational},{IsOpta},"
"{TeamRegionId},{TeamRegionName},{TournamentShortName},{SeasonName},{PlayedPositionsRaw},{PositionText},{PositionShort},{PositionLong},"
"{Name},{Height},{Weight},{FirstName},{LastName},{KnownName},{WSName},{DateOfBirth},{Age},{Ranking}".decode('cp1252').format(**player))

我正在尝试打印此请求中返回的字典值元素,但是我收到以下错误:

exceptions.TypeError: format() argument after ** must be a mapping, not list

我之前使用的代码格式与此类似,没有问题,我不确定如何修复此错误。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

响应在列表中包含两个元素,只有第二个元素是一个播放器列表:

>>> playerdata = responser.json()
>>> playerdata[0]
[1, 20, 389, 20]
>>> playerdata[1]
[{u'FirstName': u'James', u'LastName': u'Milner', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 1, u'AerialWon': 2, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 0, u'Assists': 1, u'Red': 0, u'Name': u'James Milner', u'PositionText': u'Midfielder', u'Ranking': 1, u'PositionLong': u'Midfielder (Center, Left, Right)', u'PlayerId': 4511, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 167, u'TotalTackles': 8, u'TotalLongBalls': 4, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 0, u'AerialLost': 1, u'Turnovers': 2, u'ShotsOnTarget': 0, u'WSName': None, u'Fouls': 0, u'ManOfTheMatch': 1, u'Height': 175, u'TeamName': u'Manchester City', u'RegionCode': u'gb-eng', u'TotalPasses': 72, u'TotalThroughBalls': 0, u'Dribbles': 3, u'DateOfBirth': u'/Date(505180800000)/', u'OwnGoals': 0, u'WasFouled': 0, u'TotalClearances': 1, u'Rating': 8.79, u'PlayedPositionsRaw': u'-MC-ML-MR-', u'Weight': 70, u'AccurateLongBalls': 3, u'OffsidesWon': 0, u'AccuratePasses': 67, u'Yellow': 0, u'KeyPasses': 4, u'TotalCrosses': 12, u'AccurateCrosses': 2, u'IsCurrentPlayer': True, u'Age': 28, u'PositionShort': u'M(CLR)', u'AccurateThroughBalls': 0, u'Interceptions': 1, u'Offsides': 0}, {u'FirstName': u'Niko', u'LastName': u'Kranjcar', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 1, u'AerialWon': 0, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 6, u'Assists': 0, u'Red': 0, u'Name': u'Niko Kranjcar', u'PositionText': u'Midfielder', u'Ranking': 2, u'PositionLong': u'Attacking Midfielder (Center, Left, Right)', u'PlayerId': 7411, u'SubOff': 0, u'Dispossesed': 2, u'TeamId': 171, u'TotalTackles': 2, u'TotalLongBalls': 7, u'Goals': 1, u'SubOn': 0, u'WasDribbled': 0, u'AerialLost': 1, u'Turnovers': 2, u'ShotsOnTarget': 2, u'WSName': None, u'Fouls': 0, u'ManOfTheMatch': 0, u'Height': 185, u'TeamName': u'Queens Park Rangers', u'RegionCode': u'hr', u'TotalPasses': 44, u'TotalThroughBalls': 0, u'Dribbles': 5, u'DateOfBirth': u'/Date(461199600000)/', u'OwnGoals': 0, u'WasFouled': 3, u'TotalClearances': 1, u'Rating': 8.63, u'PlayedPositionsRaw': u'-AMC-AML-AMR-', u'Weight': 84, u'AccurateLongBalls': 3, u'OffsidesWon': 0, u'AccuratePasses': 32, u'Yellow': 0, u'KeyPasses': 2, u'TotalCrosses': 9, u'AccurateCrosses': 2, u'IsCurrentPlayer': True, u'Age': 30, u'PositionShort': u'AM(CLR)', u'AccurateThroughBalls': 0, u'Interceptions': 0, u'Offsides': 0}, {u'FirstName': u'Diego', u'LastName': u'Da Silva Costa', u'KnownName': u'Diego Costa', u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 8, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 14, u'Assists': 0, u'Red': 0, u'Name': u'Diego Costa', u'PositionText': u'Forward', u'Ranking': 3, u'PositionLong': u'Forward', u'PlayerId': 24248, u'SubOff': 3, u'Dispossesed': 8, u'TeamId': 15, u'TotalTackles': 1, u'TotalLongBalls': 1, u'Goals': 6, u'SubOn': 0, u'WasDribbled': 1, u'AerialLost': 4, u'Turnovers': 11, u'ShotsOnTarget': 10, u'WSName': u'', u'Fouls': 3, u'ManOfTheMatch': 1, u'Height': 188, u'TeamName': u'Chelsea', u'RegionCode': u'es', u'TotalPasses': 99, u'TotalThroughBalls': 0, u'Dribbles': 6, u'DateOfBirth': u'/Date(592182000000)/', u'OwnGoals': 0, u'WasFouled': 6, u'TotalClearances': 4, u'Rating': 8.43, u'PlayedPositionsRaw': u'-FW-', u'Weight': 85, u'AccurateLongBalls': 1, u'OffsidesWon': 0, u'AccuratePasses': 78, u'Yellow': 0, u'KeyPasses': 8, u'TotalCrosses': 4, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 26, u'PositionShort': u'FW', u'AccurateThroughBalls': 0, u'Interceptions': 0, u'Offsides': 5}, {u'FirstName': u'Jonny', u'LastName': u'Evans', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 1, u'AerialWon': 4, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 3, u'TotalShots': 0, u'Assists': 0, u'Red': 0, u'Name': u'Jonny Evans', u'PositionText': u'Defender', u'Ranking': 4, u'PositionLong': u'Defender (Center)', u'PlayerId': 22079, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 32, u'TotalTackles': 2, u'TotalLongBalls': 12, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 0, u'AerialLost': 1, u'Turnovers': 0, u'ShotsOnTarget': 0, u'WSName': None, u'Fouls': 1, u'ManOfTheMatch': 0, u'Height': 188, u'TeamName': u'Manchester United', u'RegionCode': u'gb-nir', u'TotalPasses': 110, u'TotalThroughBalls': 0, u'Dribbles': 0, u'DateOfBirth': u'/Date(568166400000)/', u'OwnGoals': 0, u'WasFouled': 1, u'TotalClearances': 2, u'Rating': 8.37, u'PlayedPositionsRaw': u'-DC-', u'Weight': 77, u'AccurateLongBalls': 11, u'OffsidesWon': 1, u'AccuratePasses': 101, u'Yellow': 0, u'KeyPasses': 0, u'TotalCrosses': 1, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 26, u'PositionShort': u'D(C)', u'AccurateThroughBalls': 0, u'Interceptions': 2, u'Offsides': 0}, {u'FirstName': u'\xc1ngel', u'LastName': u'Di Mar\xeda', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 3, u'AerialWon': 0, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 10, u'Assists': 2, u'Red': 0, u'Name': u'\xc1ngel Di Mar\xeda', u'PositionText': u'Midfielder', u'Ranking': 5, u'PositionLong': u'Attacking Midfielder (Center, Left, Right)', u'PlayerId': 23110, u'SubOff': 2, u'Dispossesed': 5, u'TeamId': 32, u'TotalTackles': 2, u'TotalLongBalls': 24, u'Goals': 2, u'SubOn': 0, u'WasDribbled': 2, u'AerialLost': 0, u'Turnovers': 2, u'ShotsOnTarget': 3, u'WSName': None, u'Fouls': 2, u'ManOfTheMatch': 1, u'Height': 180, u'TeamName': u'Manchester United', u'RegionCode': u'ar', u'TotalPasses': 173, u'TotalThroughBalls': 3, u'Dribbles': 6, u'DateOfBirth': u'/Date(571795200000)/', u'OwnGoals': 0, u'WasFouled': 2, u'TotalClearances': 1, u'Rating': 8.203333333333333, u'PlayedPositionsRaw': u'-AMC-AML-AMR-', u'Weight': 70, u'AccurateLongBalls': 15, u'OffsidesWon': 0, u'AccuratePasses': 144, u'Yellow': 0, u'KeyPasses': 11, u'TotalCrosses': 34, u'AccurateCrosses': 8, u'IsCurrentPlayer': True, u'Age': 26, u'PositionShort': u'AM(CLR)', u'AccurateThroughBalls': 1, u'Interceptions': 4, u'Offsides': 0}, {u'FirstName': u'Eden', u'LastName': u'Hazard', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 2, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 9, u'Assists': 0, u'Red': 0, u'Name': u'Eden Hazard', u'PositionText': u'Midfielder', u'Ranking': 6, u'PositionLong': u'Attacking Midfielder (Center, Left, Right)', u'PlayerId': 33404, u'SubOff': 1, u'Dispossesed': 9, u'TeamId': 15, u'TotalTackles': 1, u'TotalLongBalls': 9, u'Goals': 2, u'SubOn': 0, u'WasDribbled': 2, u'AerialLost': 4, u'Turnovers': 7, u'ShotsOnTarget': 5, u'WSName': None, u'Fouls': 6, u'ManOfTheMatch': 1, u'Height': 173, u'TeamName': u'Chelsea', u'RegionCode': u'be', u'TotalPasses': 218, u'TotalThroughBalls': 1, u'Dribbles': 20, u'DateOfBirth': u'/Date(663206400000)/', u'OwnGoals': 0, u'WasFouled': 11, u'TotalClearances': 1, u'Rating': 8.145, u'PlayedPositionsRaw': u'-AMC-AML-AMR-', u'Weight': 74, u'AccurateLongBalls': 7, u'OffsidesWon': 0, u'AccuratePasses': 198, u'Yellow': 0, u'KeyPasses': 11, u'TotalCrosses': 10, u'AccurateCrosses': 2, u'IsCurrentPlayer': True, u'Age': 23, u'PositionShort': u'AM(CLR)', u'AccurateThroughBalls': 0, u'Interceptions': 2, u'Offsides': 0}, {u'FirstName': u'Victor', u'LastName': u'Moses', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 2, u'AerialWon': 1, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 5, u'Assists': 1, u'Red': 0, u'Name': u'Victor Moses', u'PositionText': u'Midfielder', u'Ranking': 7, u'PositionLong': u'Attacking Midfielder (Center, Left, Right)', u'PlayerId': 33064, u'SubOff': 1, u'Dispossesed': 4, u'TeamId': 96, u'TotalTackles': 7, u'TotalLongBalls': 1, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 0, u'AerialLost': 4, u'Turnovers': 5, u'ShotsOnTarget': 2, u'WSName': None, u'Fouls': 1, u'ManOfTheMatch': 1, u'Height': 177, u'TeamName': u'Stoke', u'RegionCode': u'ng', u'TotalPasses': 42, u'TotalThroughBalls': 0, u'Dribbles': 6, u'DateOfBirth': u'/Date(660960000000)/', u'OwnGoals': 0, u'WasFouled': 8, u'TotalClearances': 0, u'Rating': 8.129999999999999, u'PlayedPositionsRaw': u'-AMC-AML-AMR-', u'Weight': 75, u'AccurateLongBalls': 1, u'OffsidesWon': 0, u'AccuratePasses': 39, u'Yellow': 0, u'KeyPasses': 7, u'TotalCrosses': 29, u'AccurateCrosses': 12, u'IsCurrentPlayer': True, u'Age': 23, u'PositionShort': u'AM(CLR)', u'AccurateThroughBalls': 0, u'Interceptions': 3, u'Offsides': 0}, {u'FirstName': u'Leroy', u'LastName': u'Fer', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 2, u'AerialWon': 3, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 2, u'Assists': 1, u'Red': 0, u'Name': u'Leroy Fer', u'PositionText': u'Midfielder', u'Ranking': 8, u'PositionLong': u'Attacking Midfielder (Center)', u'PlayerId': 35174, u'SubOff': 1, u'Dispossesed': 1, u'TeamId': 171, u'TotalTackles': 5, u'TotalLongBalls': 7, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 1, u'AerialLost': 2, u'Turnovers': 1, u'ShotsOnTarget': 1, u'WSName': None, u'Fouls': 3, u'ManOfTheMatch': 1, u'Height': 188, u'TeamName': u'Queens Park Rangers', u'RegionCode': u'nl', u'TotalPasses': 89, u'TotalThroughBalls': 0, u'Dribbles': 6, u'DateOfBirth': u'/Date(631497600000)/', u'OwnGoals': 0, u'WasFouled': 5, u'TotalClearances': 1, u'Rating': 8.120000000000001, u'PlayedPositionsRaw': u'-AMC-', u'Weight': 79, u'AccurateLongBalls': 7, u'OffsidesWon': 0, u'AccuratePasses': 77, u'Yellow': 1, u'KeyPasses': 9, u'TotalCrosses': 0, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 24, u'PositionShort': u'AM(C)', u'AccurateThroughBalls': 0, u'Interceptions': 2, u'Offsides': 0}, {u'FirstName': u'Branislav', u'LastName': u'Ivanovic', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 21, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 7, u'Assists': 0, u'Red': 0, u'Name': u'Branislav Ivanovic', u'PositionText': u'Defender', u'Ranking': 9, u'PositionLong': u'Defender (Center, Right)', u'PlayerId': 15338, u'SubOff': 0, u'Dispossesed': 1, u'TeamId': 15, u'TotalTackles': 11, u'TotalLongBalls': 19, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 4, u'AerialLost': 8, u'Turnovers': 2, u'ShotsOnTarget': 2, u'WSName': None, u'Fouls': 3, u'ManOfTheMatch': 1, u'Height': 185, u'TeamName': u'Chelsea', u'RegionCode': u'rs', u'TotalPasses': 178, u'TotalThroughBalls': 2, u'Dribbles': 6, u'DateOfBirth': u'/Date(446256000000)/', u'OwnGoals': 0, u'WasFouled': 0, u'TotalClearances': 19, u'Rating': 8.105, u'PlayedPositionsRaw': u'-DC-DR-', u'Weight': 91, u'AccurateLongBalls': 15, u'OffsidesWon': 0, u'AccuratePasses': 153, u'Yellow': 1, u'KeyPasses': 10, u'TotalCrosses': 7, u'AccurateCrosses': 3, u'IsCurrentPlayer': True, u'Age': 30, u'PositionShort': u'D(CR)', u'AccurateThroughBalls': 1, u'Interceptions': 5, u'Offsides': 0}, {u'FirstName': u'Sadio', u'LastName': u'Man\xe9', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 1, u'AerialWon': 0, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 3, u'Assists': 1, u'Red': 0, u'Name': u'Sadio Man\xe9', u'PositionText': u'Midfielder', u'Ranking': 10, u'PositionLong': u'Midfielder (Left)', u'PlayerId': 109915, u'SubOff': 1, u'Dispossesed': 2, u'TeamId': 18, u'TotalTackles': 1, u'TotalLongBalls': 0, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 0, u'AerialLost': 4, u'Turnovers': 1, u'ShotsOnTarget': 2, u'WSName': None, u'Fouls': 1, u'ManOfTheMatch': 0, u'Height': 175, u'TeamName': u'Southampton', u'RegionCode': u'sn', u'TotalPasses': 25, u'TotalThroughBalls': 0, u'Dribbles': 3, u'DateOfBirth': u'/Date(702860400000)/', u'OwnGoals': 0, u'WasFouled': 3, u'TotalClearances': 0, u'Rating': 8.02, u'PlayedPositionsRaw': u'-ML-', u'Weight': 69, u'AccurateLongBalls': 0, u'OffsidesWon': 0, u'AccuratePasses': 22, u'Yellow': 1, u'KeyPasses': 3, u'TotalCrosses': 4, u'AccurateCrosses': 1, u'IsCurrentPlayer': True, u'Age': 22, u'PositionShort': u'M(L)', u'AccurateThroughBalls': 0, u'Interceptions': 0, u'Offsides': 3}, {u'FirstName': u'Rafael Pereira', u'LastName': u'da Silva', u'KnownName': u'Rafael', u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 3, u'AerialWon': 1, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 1, u'TotalShots': 0, u'Assists': 1, u'Red': 0, u'Name': u'Rafael', u'PositionText': u'Defender', u'Ranking': 11, u'PositionLong': u'Defender (Right)', u'PlayerId': 4092, u'SubOff': 1, u'Dispossesed': 1, u'TeamId': 32, u'TotalTackles': 10, u'TotalLongBalls': 19, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 3, u'AerialLost': 2, u'Turnovers': 2, u'ShotsOnTarget': 0, u'WSName': None, u'Fouls': 1, u'ManOfTheMatch': 1, u'Height': 173, u'TeamName': u'Manchester United', u'RegionCode': u'br', u'TotalPasses': 157, u'TotalThroughBalls': 0, u'Dribbles': 7, u'DateOfBirth': u'/Date(647478000000)/', u'OwnGoals': 0, u'WasFouled': 5, u'TotalClearances': 14, u'Rating': 7.966666666666668, u'PlayedPositionsRaw': u'-DR-', u'Weight': 80, u'AccurateLongBalls': 6, u'OffsidesWon': 0, u'AccuratePasses': 136, u'Yellow': 0, u'KeyPasses': 3, u'TotalCrosses': 10, u'AccurateCrosses': 2, u'IsCurrentPlayer': True, u'Age': 24, u'PositionShort': u'D(R)', u'AccurateThroughBalls': 0, u'Interceptions': 12, u'Offsides': 0}, {u'FirstName': u'Cesc', u'LastName': u'F\xe0bregas', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 5, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 1, u'TotalShots': 6, u'Assists': 4, u'Red': 0, u'Name': u'Cesc F\xe0bregas', u'PositionText': u'Midfielder', u'Ranking': 12, u'PositionLong': u'Midfielder (Center, Left, Right) / Forward', u'PlayerId': 8040, u'SubOff': 1, u'Dispossesed': 6, u'TeamId': 15, u'TotalTackles': 5, u'TotalLongBalls': 39, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 12, u'AerialLost': 2, u'Turnovers': 2, u'ShotsOnTarget': 2, u'WSName': u'', u'Fouls': 3, u'ManOfTheMatch': 0, u'Height': 175, u'TeamName': u'Chelsea', u'RegionCode': u'es', u'TotalPasses': 378, u'TotalThroughBalls': 2, u'Dribbles': 4, u'DateOfBirth': u'/Date(547081200000)/', u'OwnGoals': 0, u'WasFouled': 6, u'TotalClearances': 4, u'Rating': 7.942500000000001, u'PlayedPositionsRaw': u'-FW-MC-ML-MR-', u'Weight': 74, u'AccurateLongBalls': 29, u'OffsidesWon': 0, u'AccuratePasses': 349, u'Yellow': 1, u'KeyPasses': 14, u'TotalCrosses': 22, u'AccurateCrosses': 7, u'IsCurrentPlayer': True, u'Age': 27, u'PositionShort': u'M(CLR),FW', u'AccurateThroughBalls': 1, u'Interceptions': 2, u'Offsides': 0}, {u'FirstName': u'Joleon', u'LastName': u'Lescott', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 1, u'AerialWon': 4, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 1, u'TotalShots': 0, u'Assists': 0, u'Red': 0, u'Name': u'Joleon Lescott', u'PositionText': u'Defender', u'Ranking': 13, u'PositionLong': u'Defender (Center)', u'PlayerId': 8137, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 175, u'TotalTackles': 0, u'TotalLongBalls': 4, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 0, u'AerialLost': 1, u'Turnovers': 0, u'ShotsOnTarget': 0, u'WSName': None, u'Fouls': 1, u'ManOfTheMatch': 0, u'Height': 190, u'TeamName': u'West Bromwich Albion', u'RegionCode': u'gb-eng', u'TotalPasses': 64, u'TotalThroughBalls': 0, u'Dribbles': 0, u'DateOfBirth': u'/Date(398300400000)/', u'OwnGoals': 0, u'WasFouled': 0, u'TotalClearances': 11, u'Rating': 7.86, u'PlayedPositionsRaw': u'-DC-', u'Weight': 89, u'AccurateLongBalls': 1, u'OffsidesWon': 1, u'AccuratePasses': 53, u'Yellow': 0, u'KeyPasses': 0, u'TotalCrosses': 0, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 32, u'PositionShort': u'D(C)', u'AccurateThroughBalls': 0, u'Interceptions': 3, u'Offsides': 0}, {u'FirstName': u'Mile', u'LastName': u'Jedinak', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 3, u'AerialWon': 16, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 2, u'TotalShots': 5, u'Assists': 1, u'Red': 0, u'Name': u'Mile Jedinak', u'PositionText': u'Midfielder', u'Ranking': 14, u'PositionLong': u'Defensive Midfielder (Center)', u'PlayerId': 13727, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 162, u'TotalTackles': 14, u'TotalLongBalls': 26, u'Goals': 1, u'SubOn': 0, u'WasDribbled': 7, u'AerialLost': 5, u'Turnovers': 3, u'ShotsOnTarget': 2, u'WSName': None, u'Fouls': 10, u'ManOfTheMatch': 1, u'Height': 189, u'TeamName': u'Crystal Palace', u'RegionCode': u'au', u'TotalPasses': 150, u'TotalThroughBalls': 0, u'Dribbles': 0, u'DateOfBirth': u'/Date(460335600000)/', u'OwnGoals': 0, u'WasFouled': 4, u'TotalClearances': 5, u'Rating': 7.8566666666666665, u'PlayedPositionsRaw': u'-DMC-', u'Weight': 81, u'AccurateLongBalls': 9, u'OffsidesWon': 0, u'AccuratePasses': 101, u'Yellow': 2, u'KeyPasses': 1, u'TotalCrosses': 0, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 30, u'PositionShort': u'DM(C)', u'AccurateThroughBalls': 0, u'Interceptions': 12, u'Offsides': 0}, {u'FirstName': u'Ritchie', u'LastName': u'de Laet', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 12, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 3, u'TotalShots': 0, u'Assists': 1, u'Red': 0, u'Name': u'Ritchie de Laet', u'PositionText': u'Defender', u'Ranking': 15, u'PositionLong': u'Defender (Center, Right)', u'PlayerId': 31856, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 14, u'TotalTackles': 16, u'TotalLongBalls': 24, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 5, u'AerialLost': 3, u'Turnovers': 6, u'ShotsOnTarget': 0, u'WSName': None, u'Fouls': 6, u'ManOfTheMatch': 1, u'Height': 186, u'TeamName': u'Leicester', u'RegionCode': u'be', u'TotalPasses': 134, u'TotalThroughBalls': 1, u'Dribbles': 4, u'DateOfBirth': u'/Date(596678400000)/', u'OwnGoals': 0, u'WasFouled': 3, u'TotalClearances': 26, u'Rating': 7.855, u'PlayedPositionsRaw': u'-DC-DR-', u'Weight': 77, u'AccurateLongBalls': 9, u'OffsidesWon': 0, u'AccuratePasses': 100, u'Yellow': 1, u'KeyPasses': 6, u'TotalCrosses': 9, u'AccurateCrosses': 1, u'IsCurrentPlayer': True, u'Age': 25, u'PositionShort': u'D(CR)', u'AccurateThroughBalls': 1, u'Interceptions': 15, u'Offsides': 0}, {u'FirstName': u'Curtis', u'LastName': u'Davies', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 23, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 5, u'TotalShots': 1, u'Assists': 0, u'Red': 0, u'Name': u'Curtis Davies', u'PositionText': u'Defender', u'Ranking': 16, u'PositionLong': u'Defender (Center)', u'PlayerId': 8484, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 214, u'TotalTackles': 7, u'TotalLongBalls': 13, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 2, u'AerialLost': 6, u'Turnovers': 1, u'ShotsOnTarget': 0, u'WSName': None, u'Fouls': 0, u'ManOfTheMatch': 1, u'Height': 188, u'TeamName': u'Hull', u'RegionCode': u'gb-eng', u'TotalPasses': 147, u'TotalThroughBalls': 0, u'Dribbles': 2, u'DateOfBirth': u'/Date(479692800000)/', u'OwnGoals': 0, u'WasFouled': 2, u'TotalClearances': 49, u'Rating': 7.842499999999999, u'PlayedPositionsRaw': u'-DC-', u'Weight': 76, u'AccurateLongBalls': 5, u'OffsidesWon': 2, u'AccuratePasses': 132, u'Yellow': 0, u'KeyPasses': 1, u'TotalCrosses': 0, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 29, u'PositionShort': u'D(C)', u'AccurateThroughBalls': 0, u'Interceptions': 15, u'Offsides': 0}, {u'FirstName': u'Jordan', u'LastName': u'Henderson', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 5, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 1, u'TotalShots': 6, u'Assists': 2, u'Red': 0, u'Name': u'Jordan Henderson', u'PositionText': u'Midfielder', u'Ranking': 17, u'PositionLong': u'Midfielder (Center, Left, Right)', u'PlayerId': 68659, u'SubOff': 0, u'Dispossesed': 4, u'TeamId': 26, u'TotalTackles': 14, u'TotalLongBalls': 28, u'Goals': 1, u'SubOn': 0, u'WasDribbled': 3, u'AerialLost': 1, u'Turnovers': 2, u'ShotsOnTarget': 3, u'WSName': None, u'Fouls': 3, u'ManOfTheMatch': 1, u'Height': 182, u'TeamName': u'Liverpool', u'RegionCode': u'gb-eng', u'TotalPasses': 289, u'TotalThroughBalls': 3, u'Dribbles': 1, u'DateOfBirth': u'/Date(645577200000)/', u'OwnGoals': 0, u'WasFouled': 3, u'TotalClearances': 5, u'Rating': 7.8375, u'PlayedPositionsRaw': u'-MC-ML-MR-', u'Weight': 67, u'AccurateLongBalls': 18, u'OffsidesWon': 0, u'AccuratePasses': 254, u'Yellow': 0, u'KeyPasses': 11, u'TotalCrosses': 4, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 24, u'PositionShort': u'M(CLR)', u'AccurateThroughBalls': 2, u'Interceptions': 8, u'Offsides': 0}, {u'FirstName': u'Papiss Demba', u'LastName': u'Ciss\xe9', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 0, u'AerialWon': 0, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 3, u'Assists': 0, u'Red': 0, u'Name': u'Papiss Demba Ciss\xe9', u'PositionText': u'Forward', u'Ranking': 18, u'PositionLong': u'Attacking Midfielder (Right) / Forward', u'PlayerId': 24223, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 23, u'TotalTackles': 0, u'TotalLongBalls': 0, u'Goals': 2, u'SubOn': 1, u'WasDribbled': 0, u'AerialLost': 1, u'Turnovers': 2, u'ShotsOnTarget': 2, u'WSName': None, u'Fouls': 0, u'ManOfTheMatch': 0, u'Height': 183, u'TeamName': u'Newcastle United', u'RegionCode': u'sn', u'TotalPasses': 10, u'TotalThroughBalls': 0, u'Dribbles': 0, u'DateOfBirth': u'/Date(486601200000)/', u'OwnGoals': 0, u'WasFouled': 0, u'TotalClearances': 0, u'Rating': 7.83, u'PlayedPositionsRaw': u'-AMR-FW-', u'Weight': 73, u'AccurateLongBalls': 0, u'OffsidesWon': 0, u'AccuratePasses': 8, u'Yellow': 0, u'KeyPasses': 0, u'TotalCrosses': 0, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 29, u'PositionShort': u'AM(R),FW', u'AccurateThroughBalls': 0, u'Interceptions': 0, u'Offsides': 0}, {u'FirstName': u'Ander', u'LastName': u'Herrera', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 3, u'AerialWon': 1, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 2, u'TotalShots': 3, u'Assists': 1, u'Red': 0, u'Name': u'Ander Herrera', u'PositionText': u'Midfielder', u'Ranking': 19, u'PositionLong': u'Midfielder (Center, Left, Right)', u'PlayerId': 71174, u'SubOff': 2, u'Dispossesed': 3, u'TeamId': 32, u'TotalTackles': 11, u'TotalLongBalls': 12, u'Goals': 1, u'SubOn': 0, u'WasDribbled': 1, u'AerialLost': 3, u'Turnovers': 2, u'ShotsOnTarget': 1, u'WSName': None, u'Fouls': 5, u'ManOfTheMatch': 1, u'Height': 182, u'TeamName': u'Manchester United', u'RegionCode': u'es', u'TotalPasses': 179, u'TotalThroughBalls': 0, u'Dribbles': 4, u'DateOfBirth': u'/Date(619052400000)/', u'OwnGoals': 0, u'WasFouled': 7, u'TotalClearances': 4, u'Rating': 7.793333333333334, u'PlayedPositionsRaw': u'-MC-ML-MR-', u'Weight': 70, u'AccurateLongBalls': 7, u'OffsidesWon': 0, u'AccuratePasses': 161, u'Yellow': 1, u'KeyPasses': 5, u'TotalCrosses': 0, u'AccurateCrosses': 0, u'IsCurrentPlayer': True, u'Age': 25, u'PositionShort': u'M(CLR)', u'AccurateThroughBalls': 0, u'Interceptions': 3, u'Offsides': 0}, {u'FirstName': u'C\xe9sar', u'LastName': u'Azpilicueta', u'KnownName': None, u'Field': {u'DisplayName': u'Home', u'Value': 0}, u'GameStarted': 4, u'AerialWon': 10, u'TeamRegionCode': u'gb-eng', u'SecondYellow': 0, u'ShotsBlocked': 0, u'TotalShots': 1, u'Assists': 1, u'Red': 0, u'Name': u'C\xe9sar Azpilicueta', u'PositionText': u'Defender', u'Ranking': 20, u'PositionLong': u'Defender (Left, Right)', u'PlayerId': 25931, u'SubOff': 0, u'Dispossesed': 0, u'TeamId': 15, u'TotalTackles': 14, u'TotalLongBalls': 12, u'Goals': 0, u'SubOn': 0, u'WasDribbled': 7, u'AerialLost': 7, u'Turnovers': 1, u'ShotsOnTarget': 1, u'WSName': None, u'Fouls': 3, u'ManOfTheMatch': 1, u'Height': 178, u'TeamName': u'Chelsea', u'RegionCode': u'es', u'TotalPasses': 218, u'TotalThroughBalls': 0, u'Dribbles': 0, u'DateOfBirth': u'/Date(620262000000)/', u'OwnGoals': 0, u'WasFouled': 2, u'TotalClearances': 15, u'Rating': 7.782500000000001, u'PlayedPositionsRaw': u'-DL-DR-', u'Weight': 75, u'AccurateLongBalls': 6, u'OffsidesWon': 0, u'AccuratePasses': 196, u'Yellow': 0, u'KeyPasses': 5, u'TotalCrosses': 6, u'AccurateCrosses': 2, u'IsCurrentPlayer': True, u'Age': 25, u'PositionShort': u'D(LR)', u'AccurateThroughBalls': 0, u'Interceptions': 11, u'Offsides': 0}]

相应地调整循环:

playerdata = responser.json()

for player in playerdata[1]:

在字符串文字中使用.decode()没有意义;只需在字符串上使用u"..."前缀即可使其成为unicode对象。

您的print()语句中似乎需要67个键,但播放器对象中只有57个键:

>>> len(player.keys())
57

你需要在那里调整你的期望。