Очистка JSON с запросами Python

Michael T Johnson спросил: 26 ноября 2017 в 05:09 в: python

Это не первый раз, когда я собираю данные, но это точно так.

import csv
import requests
import osoutfile = open("Labs_StartingGoalies.csv","a",newline='')
writer = csv.writer(outfile)
header=[
    "Home_Tm"]writer.writerow(header)req = requests.get('https://www.fantasylabs.com/api/lines/4/12-20-2017/startinggoalies') 
data = req.json()['GoalieMatchups']for i, teams in enumerate(data):
    for i, team in enumerate(teams['Properties']):
        print (team)

Вывод:

EventId
EventDate
EventDateTime
TimeOfDay
Stadium
HomeTeam
HomeEventTeamId
HomeGoalie
HomeTwitterName
HomePrimarySourceKey
HomeGoalieId
HomeGoalieSalary_DK
HomeGoalieSalary_FD
HomeGoalieStatus
HomeGoalieText
HomeModifiedDate
HomeSourceText
HomeSourceURL
HomeMoneyLine
HomeMoneylineChange
HomeVegasPoints
VisitorTeam
VisitorEventTeamId
VisitorGoalie
VisitorTwitterName
VisitorPrimarySourceKey
VisitorGoalieId
VisitorGoalieSalary_DK
VisitorGoalieSalary_FD
VisitorGoalieStatus
VisitorGoalieText
VisitorModifiedDate
VisitorSourceText
VisitorSourceURL
VisitorMoneyLine
VisitorMoneylineChange
VisitorVegasPoints

Следующий код:

import csv
import requests
import osoutfile = open("Labs_StartingGoalies.csv","a",newline='')
writer = csv.writer(outfile)
header=[
    "Home_Tm"]writer.writerow(header)req = requests.get('https://www.fantasylabs.com/api/lines/4/12-20-2017/startinggoalies') 
data = req.json()['GoalieMatchups']for i, teams in enumerate(data):
    for i, team in enumerate(teams['Properties']):
        HomeTeam = team['HomeTeam']
        print (HomeTeam)

Ошибка: File "C:/Python36/Projects/NHL/Labs_Teams.py", line 17, in <module> HomeTeam = team['HomeTeam'] TypeError: string indices must be integers

Этот Json немного сложен для чтения. Обычно я использую Mozilla для него, но он не отображается в обычном порядке. Я хотел бы начать извлекать данные из списка в первом output, но все разные попытки заканчиваются неудачей. Спасибо, что заглянули!

0 ответов