У меня есть список кортежей, которые я хочу выполнить итерации и отправить запрос http через модуль запросов python.Отправляющий запрос от объекта python
api_schedule = [
{'destination': (51.490527, 0.267840), 'id': 'trial_a', 'origin': (51.430732, 0.239308)},
{'destination': (51.429488, 0.239060), 'id': 'trial_b', 'origin': (51.490518, 0.267578)}]
Координаты происхождения и назначения затруднены в правильном форматировании. Directions API Google ожидает их в формате lat,lng
где lat
и lng
являются float
я итерацию по списку словарей так:
for pair in api_schedule:
departure_time = time.time()
origin_lat = str(pair['origin'][0])
origin_lng = "," + str(pair['origin'][1])
origin = origin_lat + origin_lng
destination_lat = str(pair['destination'][0])
destination_lng = "," + str(pair['destination'][1])
destination = destination_lat + destination_lng
params = {
"origin" : origin,
"destination" : destination
"key" : api_Key,
"departure_time" : departure_time,
"mode" : mode
}
request = requests.Request('GET', url_raw, params=params).prepare()
print request.url
Однако это возвращает %2C
вместо ,
:
https://maps.googleapis.com/maps/api/directions/json?origin=51.430732%2C0.239308&destination=51.490527&destination=0.26784
Как перебирать список кортежей типа thi s и правильно использовать формулы для правильной настройки параметров?
Когда я пытаюсь без выше манипуляций, запросы рассматривает данные происхождения и назначения, списки и тем самым создает два Params, как так:
https://maps.googleapis.com/maps/api/directions/json?origin=51.430732&origin=0.239308
Желаемый результат:
https://maps.googleapis.com/maps/api/directions/json?origin=51.430732,0.239308&destination=51.490527,0.26784
Каким будет необходимый результат? –
Первый вопрос помог мне понять, почему он не работает. Поле преобразуется в список. Этот вопрос заключается в том, как решить эту проблему для этого приложения. – LearningSlowly
Пожалуйста, правильно определите «формулу параметров»: каков ожидаемый URL? –