字符串索引必须是整数

时间:2014-07-23 15:22:27

标签: python string

我收到以下错误:

  

字符串索引必须是整数,而不是str

我该如何解决这个问题?这是代码:

    if args['params']['text'][:5] == '!temp':
        degreeChar = u'\u00b0'
        url = 'http://api.worldweatheronline.com/free/v1/weather.ashx?q=' + args['params']['text'][9:] + '&format=json&num_of_days=1&key=' + WeatherAPIkey
        json_obj = urllib.urlopen(url)
        data = json.load(json_obj)
        temp = int(data['data']['current_condition']['temp_C'])
        ws.send('5:::' + genMessage('chatMsg', channel, username, 'Temperature in ' + args['params']['text'][6:] + ': ' + temp + degreeChar + 'C'))

错误在这一行:temp = int(data['data']['current_condition']['temp_C'])
API位于:img

1 个答案:

答案 0 :(得分:1)

data['data']['current_condition']会返回一个列表,因此您需要使用:

 `data['data']['current_condition'][0]['temp_C']` 

访问列表中的dict。