TypeError: list indices must be integers, not strがわからんかったけどどうにか出来た
PythonとGoogle Maps Elevation APIで、
位置情報から高度を取得してDBに書き込むやつを作ってたんだけど、まあ上手く動かない。
文系学部に籍を置いている身、
ココで限界かなあと変に鬱ってたら、海外サイトにヒントが。
とりあえずそれで動いたのでメモっとく。
以下のコードは必要なところだけ切り取ったやつ。
import json import urllib2 url = 'https://maps.googleapis.com/maps/api/elevation/json?locations="lat","lng"+ '&key="YOUR KEY" r = urllib2.urlopen(url) gapi = json.loads(r.read()) elv = gapi["results"]["elevation"] print (elv)
私こう書いちゃって、
TypeError: list indices must be integers, not str
と出た。
しばらく探していたら、何番目の情報を扱ってるのかわからなかったっぽいとのことで、
6行目を
elv = gapi["results"][0]["elevation"]
としたら普通に動いた。よかった。
繰り返しで書く方法もあるとのこと。