Поиск номеров телефонов и их преобразование

Рейтинг: -1Ответов: 2Опубликовано: 23.07.2023

Всем добрый день! Есть плоский файл .csv в столбце телефоны могут быть записаны в таких видах (и не только, вариантов куча) (телефон может быть как один, так и несколько через запятую):

+7(495)000-00-00
84950000000
495-00-00
8495-000-00-00, +7 (495) 0000000

И т.д.

Весь .csv в каком он виде есть загружаем в БД.

Каким образом вычленить все отдельные номера (если их несколько в строке через запятую) и разбить их на отдельные строки, при этом чтобы сохранилась связка с владельцем телефона.

А второй шаг их нужно все преобразовать к виду +7495000000.

Записей в таблице миллионы, вручную делать не реально.

Как это сделать? Или может проще преобразования выполнить в файле .csv, и как тогда?

Заранее огромное спасибо!

Ответы

▲ 0Принят

csv-файлы можно открыть в Excel. Попробуйте открыть их там, разработайте макрос на VBA и исправьте ваш файл. Затем грузите в PostgreSQL. Смысл алгоритма должен быть такой: в каждой строке ищете запятую (если она есть), разделяете по ней строку. Затем в каждой строке удаляете все нецифровые символы. И добавляете плюс спереди.

▲ 1

В базу писать лучше номера уже в нормальном виде типа 74950000000. Думаю правильно будет сначала разобрать csv с помошью ЯП, которым владеете.