2016-12-16 32 views
0

我試圖從這個json文件中獲取一些數字,但我不知道如何正確地做到這一點。這是我試圖收集來自信息的JSON文件:如何從這個json文件中獲取信息?

http://stats.nba.com/stats/leaguedashteamstats?Conference=&DateFrom=&DateTo=&Division=&GameScope=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2016-17&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&VsConference=&VsDivision=

我一直試圖讓這個代碼工作,但我無法弄清楚:

import json 
from pprint import pprint 

with open('data.json') as data_file:  
    data = json.load(data_file) 


data["rowSet"] ["1610612737"] ["Atlanta Hawks"] 

我試圖從每個團隊獲得統計數據。

回答

0

以下Python腳本應該這樣做。

#!/usr/bin/env python 

import json 

with open('leaguedashteamstats.json') as data_file: 
    data = json.load(data_file) 
    # extract headers names 
    headers = data['resultSets'][0]['headers'] 

    # extract raw json rows 
    raw_rows = data['resultSets'][0]['rowSet'] 

    team_stats = [] 
    for row in raw_rows: 
     print row[1] # prints team name 

     # mixes header names and values and prints them out 
     for (header, value) in zip(headers, row): 
      print header, value 
     print '\n' 

數據和代碼可以在這裏看到: https://gist.github.com/cevaris/24d0b7d97677667aedb14059a6959da1#file-1-team-stats-output

0

聲明:此代碼不包含任何驗證,但它應該引領你在正確的方向:

import json 

with open('data.json') as data_file:  
    data = json.load(data_file) 


for rs in data.get('resultSets'): 
    for r_ in [r for r in rs.get('rowSet') if r[1] == 'Atlanta Hawks']: 
     print(r_) 

你基本上需要確定你是通過將循環特定鍵,或獲得。

這應該有希望讓你到你需要的地方。