2017-11-23 13 views
0

私はこのエラーに遭遇していますが、ここで記事を読んでいますが、どこにどのように適用するべきかを理解するのは難しいです。Pythonスクレープ:リストインデックスはstrではなく整数またはスライスでなければなりません

import csv 
import requests 
import os 

req = requests.get('https://data.nba.com/data/10s/v2015/json/mobile_teams/nba/2017/league/00_full_schedule_week.json') 
data = req.json() 

my_data =[] 
sched = data['lscd']['mscd'] 
for item in sched['g']: 
    game_id = item['gid'] 
    my_data.append([game_id]) 
headers = ["game_id"] 

with open("NBA_sched.csv", "a", newline='') as f: 
    writer = csv.writer(f) 
    writer.writerow(headers) 
    writer.writerows(my_data) 
f.close() 
+0

完全なトレースバックをpstしてください。 –

+0

full stacktrace please .. –

答えて

1

data['lscd']listdictないので、これが起こります。一方

In [6]: type(data['lscd']) 
Out[6]: list 

data['lscd']の各要素はdict、そのキー'mscd'あるの一つであり、そのdata['lscd'][0]['mscd']はあなたのリストの最初の要素の値を与えるだろう(あなたは同じ問題に遭遇した後itemlistであるためitem['gid']となります)。

+0

それらの間に[0]を追加することで、私は最初の "月"を引くことができました。私はすぐにそれらのすべてを手に入れたいです。 –

+0

ありがとう、私はちょうど0から1-7を変更し、その方法を編集するつもりです。一度しか必要ないから –

関連する問題