2017-10-22 6 views
-1

以下のコードを実行しようとしている間、私は '文字列インデックスは整数でなければならない'というエラーを受けています。これを解決する方法は?クエリを実行している間に私は文字列インデックスを取得しています。この問題を解決するには?

import requests 
import pandas as pd 
import numpy as np 
import os 

url = 'https://earthquake.usgs.gov/fdsnws/event/1/queryformat=geojson' +\ 
    '&starttime=2016-10-01&endtime=2016-10-02' 

lat=[] 
lng=[] 

for d in data: 
    lat.append(d['geometry']['coordinates'][0]) 
    lng.append(d['geometry']['coordinates'][1]) 
+0

ハッシュしているいくつかのサンプル 'データ'を提供します。データは2dですか? – skrubber

+0

'data'は4次元配列ですか?辞書を使用することができます。または、numpyを使用する – awd

+0

{u'geometry ':{u'coordinates:[-168.3619,53.237,12.1]、u'type':u'Point '}、 u'id':u'ak12383570 '、 これはサンプルデータです –

答えて

0

このコードは含まれていないため、データvarに何を埋め込んでいるのかわかりませんが、これは機能します。

import requests 
import pandas as pd 
import numpy as np 
import os 
url='https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2016-10-01&endtime=2016-10-02' 

data = requests.get(url) 
data = data.json() 
lat=[] 
lng=[] 
for d in data['features']: 
    lat.append(d['geometry']['coordinates'][0]) 
    lng.append(d['geometry']['coordinates'][1]) 

「フィーチャー」からデータを選択していないと思われます。

>>> import requests 
>>> import pandas as pd 
>>> import numpy as np 
>>> import os 
>>> url='https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2016-10-01&endtime=2016-10-02' 
>>> 
>>> data = requests.get(url) 
>>> data.json().keys() 
dict_keys(['type', 'metadata', 'features', 'bbox']) 

例では、データに欠落している「機能」キーがあります。

>>> import requests 
>>> import pandas as pd 
>>> import numpy as np 
>>> import os 
>>> url='https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2016-10-01&endtime=2016-10-02' 
>>> 
>>> data = requests.get(url) 
>>> data = data.json() 
>>> lat=[] 
>>> lng=[] 
>>> for d in data: 
...  lat.append(d['geometry']['coordinates'][0]) 
...  lng.append(d['geometry']['coordinates'][1]) 
... 
Traceback (most recent call last): 
    File "<stdin>", line 2, in <module> 
TypeError: string indices must be integers 
>>> 
関連する問題