Доброго времени суток! Есть проблема, из адресов во всевозможных вариантах написания необходимо вывести в отдельные столбцы (индекс(если есть), город, улица, дом). при вставке в таблицу новых адресов необходимо так же дальнейшее их разделение. населенные пункты необязательно города, это могут быть села, поселки, деревни, пгт и т.д. а в роли улицы могут быть все варианты - пер., проспект, пр-т, бульвар, бульв., тракт и т.д., а может вообще не указано ничего (Москва, Пушкина, 5) Это вообще возможно? В файле пример, как это должно выглядеть
Добрый день! Я бы посмотрел в сторону регулярок, вот тут можете почитать https://www.planetaexcel.ru/techniques/7/4844/, в целом задача решаемая, возможно не в полном объеме, но упростить точно можно. Ну и для 100% эффекта думаю нужно создавать справочник городов, населенных пунктов и.т.д. И анализировать адрес на наличие слов в этом справочнике.
Индексы можно, а вот остальное под сомнением, т.к. нет четких правил для населенных пунктов и улиц, не за что цепляться при разбиении, если бы улица, переулок и др. обязательно начинались бы с ул. пер. и т.д, тогда можно было бы.., но это мое.личное мнение....
DopplerEffect, я имела ввиду не словарь всех названий улиц, городов, сел и т.д, а только справочник аббревиатур и уже по ним определяться что-куда... а то подумают, что нужно делать справочник со всеми названиями.
можно приблизить к 100 путем запроса адреса к сервисам типа яндекс (правда тут вопрос лицензий всплывет) , получить ответ в стандартном виде и его обработать. но это уже совсем другая история.
Есть специализированные сервисы, которые, помимо прочего, используют большое количество справочной информации (одна ФИАС занимает порядка 60 ГБ и ежедневно обновляется). Начать можно с этого.
Настя_Nastya,а я как раз имел ввиду список всех названий улиц, городов) В подобной задаче, когда не за что привязаться, я лично вижу только такое решение. Нужна база данных и с ней работать.
Есть способ упростить задачу и сделать ее в ручную, разделяем слова в адресе по колонкам, далее смотрим уникальные значения в каждой колонке, выбираем из них улицы, города и.т.д. Далее собираем все снова, используя полученный список городов, улиц. Но это все равно будет долго.
в свое время использовал - Json.Document(Web.Contents("https://geocode-maps.yandex.ru/1.x/?format=json&geocode="&[ваш адрес]&"&results=1")) все это в pq, очень сильно выручало, для бесплатной версии не более 25000 запросов в сутки, мне хватало
Anton555, ну мало того что это нарушение использования нелицензионного запроса, так в Яндексе не дураки и давно уже подряд дает пару десятков запросов а потом пауза, чем меньше пауза между попытками, тем меньше возвращает результатов.