2017-01-17 14 views
1

Я хочу получить стоимость акции любого товара. У меня есть функция getPrice, которая возвращает цену товара. Я пытаюсь использовать wit ai. Вот что я пробовал.Функция вызова функции wit api in python

from wit import Wit 

def getPrice(request): 
    #statements 
    return price 


def send(request, response): 
    print request['text'] 
    print('Sending to user...', response['text']) 

actions = { 
    'send': send, 
    'getPrice':getPrice 
} 

client = Wit(access_token="<token>", actions=actions) 

resp = client.message('what is the stock price of xyz') 
print('Result: ' + str(resp)) 

и результат я получаю:

Result: { 
u 'entities': { 
    u 'search_query': [{ 
     u 'suggested': True, 
     u 'confidence': 0.578445451443443, 
     u 'type': u 'value', 
     u 'value': u 'stock of xyz' 
    }], 
    u 'item': [{ 
     u 'confidence': 0.9613219630126943, 
     u 'value': u 'xyz' 
    }] 
}, 
u 'msg_id': u '5ac1a450-7c5d-3190-8666-5d88a1884f94', 
u '_text': u 'what is the stock of xyz?' 
} 

Я хочу робота, чтобы отобразить цену. Как я могу назвать эту функцию действия?

ответ

0

Вы можете сделать

print resp['entities']['item'][0]['value'] 
+0

Это дает 'TypeError: индексы список должны быть целыми, не str' – HunterrJ

+0

также' xyz' не является результатом. Это тот, чей запас я пытаюсь получить. – HunterrJ

+0

Извините, не видел, чтобы это был список. Обновился. –

0

вместо:

print('Result: ' + str(resp)) 

попробовать:

stock = resp['entities']['item'][0]['value'] 
print('Price: {}'.format(getPrice(stock))) 

 Смежные вопросы

  • Нет связанных вопросов^_^