2016-08-01 3 views
0

Я использую две разные библиотеки и пропуская адреса через них. Сначала я использую геофизию для очистки и геокодирования адресов. Затем я запускаю адрес через pygeocoder, чтобы узнать, является ли выход допустимым адресом. Если выход действителен, я добавляю адрес в список, который я буду возвращать позже. Если нет, я добавляю «Невозможно очистить
» (это приложение с флягой).Ошибка при добавлении списка в соответствии с состоянием bool

Даже если адрес действителен и функция valid_address pygeocoder возвращает true, адрес по какой-либо причине не добавляется к списку. Он добавляет «Невозможно очистить
» каждый раз.

Вот мой код:

if g.geocode(address).valid_address: 
    cleaned.append((str(address) + ", " + str(zipcode.lstrip()) + 
         ", " + str(clean.latitude) + ", " + str(clean.longitude)) + '<br>') 
    success += 1 
else: 
    cleaned.append('Can not be cleaned <br>') 
     fail += 1 
except AttributeError: 
    cleaned.append('Can not be cleaned <br>') 
    fail += 1 
except ValueError: 
    cleaned.append('Can not be cleaned <br>') 
    fail += 1 
except GeocoderTimedOut as e: 
    cleaned.append('Can not be cleaned <br>') 
    fail += 1 

Что вы люди думают, что я делаю не так?

+0

Этот частичный код кажется прекрасным. Вы должны указать [минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) –

ответ

0

Решила мою проблему.

Я не давал pygeocoder достаточной информации. Мой адрес был в формате номера улицы. Добавив город в конец адреса, и после его проверки я решил проблему.

К сожалению, pygeocoder работает через Карты Google, который имеет относительно низкий предел запроса.

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