В первом операторе вашего l oop:
get_rating = gmaps.find_place(input=addresses, input_type = 'textquery', fields=['name', 'place_id', 'rating'])
вы используете список addresses
в качестве входных данных, когда я считаю, что вы хотели использовать i
, элемент в списке. Исправленный код будет:
addresses = ['mall of america in bloomington', 'king of prussia mall']
for i in addresses:
get_rating = gmaps.find_place(input=i, input_type = 'textquery', fields=['name', 'place_id', 'rating'])
print(get_rating)
Чтобы ответить на ваш комментарий о том, как получить значения рейтингов:
Похоже, что возвращаемое значение является значением dict. В этом случае вы можете перебирать его, как и любой другой dict:
import json
addresses = ['mall of america in bloomington', 'king of prussia mall']
ratings = []
for i in addresses:
get_rating = gmaps.find_place(input=i, input_type = 'textquery', fields=['name', 'place_id', 'rating'])
for candidate in get_rating['candidates']:
ratings.append(candidate['rating'])
Вам решать, как получить значения рейтингов в формате csv, и отловить любые крайние случаи, которые могут возникнуть , например:
- Что делать, если поиск не возвращает кандидатов?
- Что делать, если в результатах кандидата нет значения «рейтинг»?
- Что делать, если тип возврата
gmaps.find_place
не dict
?