2016-07-07 1 views
0

내 json 파일보기가 마음에 들었고 해당 데이터에 액세스하려고합니다.목록 색인은 정수 여야하며 dict이 아니어야합니다.

{ 
"stats": [ 
    { 
     "id": 7, 
     "name": "WarL0cK", 
     "position": "toplane", 
     "playerSlug": "warl0ck", 
     "team": "BKT", 
     "gamesPlayed": 6, 
     "kda": 1.5, 
     "kills": 12, 
     "deaths": 20, 
     "assists": 18, 
     "killParticipation": 0.6666666666666666, 
     "csPerMin": 5.917136743824159, 
     "cs": 1014, 
     "minutesPlayed": 171, 
     "teamSlug": "bangkok-titans" 
    }, 

내 스크립트는 아래에 언급되어 있습니다. 내가 그것을 실행하면 오류를 제공합니다 : 목록 지수는 정수가 될

import csv 
import json 

json_file='PlayerStats.json' 
with open(json_file, 'r') as json_data: 
x = json.load(json_data) 

f = csv.writer(open("playerstats.csv", "w")) 

f.writerow(["stats", "id", "name", "position","playerSlug", "team",  "gamesPlayed", "kda", "kills", "deaths", "assists", "killParticipation", "csPerMin", "cs", "minutesPlayed", "teamSlug"]) 

stats=x["stats"] 
for key in x["stats"]: 
    f.writerow([ 
      x["stats"][key]["id"], 
      x["stats"][key]["name"], 
      x["stats"][key]["position"], 
      x["stats"][key]["playerSlug"], 
      x["stats"][key]["team"], 
      x["stats"][key]["gamesPlayed"], 
      x["stats"][key]["kda"], 
      x["stats"][key]["kills"], 
      x["stats"][key]["deaths"], 
      x["stats"][key]["assists"], 
      x["stats"][key]["killParticipation"], 
      x["stats"][key]["csPerMin"], 
      x["stats"][key]["cs"], 
      x["stats"][key]["minutesPlayed"], 
      x["stats"][key]["teamSlug"]])  

나는 사전의 목록을 구문 분석에 약간의 문제가 있다고 생각 DICT하지 않아야합니다. 도와주세요.

+0

그러나이 여전히 당신의 질문 오류를주는 라인 말해, 당신이 사용하는 컴퓨터 언어에 대한 태그를 추가하기를 편집 할 수 –

+0

작동하지? –

+1

(x [ "stats"] [key] [ "id"]) :이 줄에 오류가 발생했습니다. 그리고 제가 사용하고있는 언어가 파이썬입니다 –

답변

0

x["stats"][0][key]["id"]에 변경하십시오. 간단하게 사용

key["id"] 
0

x [ "통계"]는 목록입니다. 아니 dict. 당신이 딕셔너리 아닌 인덱스 통계를 통해 각각의 "키"를 반복 할 때

그래서 때문에, 여기 합계는 JSON 객체/dicts의 목록을 포함 x["stats"][key]["id"]

for key in x["stats"]: 
    f.writerow([ 
      x["stats"][0][key]["id"], 
      .... 
관련 문제