DEF-код — трёхзначный код оператора в российском мобильном номере. Зная его, можно сгенерировать миллионы номеров для тестирования или анализа. Разбираем структуру DEF-кодов, способы генерации (Excel, Python, Basalt), распределение по операторам и правовые аспекты использования.
Равномерное распределение нагрузки, честные A/B-тесты, разрушение последовательных паттернов — всё это требует случайного порядка данных. Разбираем четыре способа перемешать CSV: Excel RAND(), командная строка, Python random.shuffle и Basalt. Объясняем алгоритм Fisher-Yates и проверку качества случайности.
Веб-скрапинг, экспорты из CRM, неструктурированные данные — номера телефонов часто перемешаны с текстом. Разбираем три способа автоматического извлечения: regex, библиотека phonenumbers и Basalt. Показываем, как нормализовать форматы и избежать типичных ошибок.
Дубликаты в базе данных — это лишние расходы и испорченная репутация. Разбираем четыре способа очистки CSV от повторяющихся записей: от Excel до специализированных инструментов. Сравниваем производительность на больших файлах и делимся практическими советами.
Парсинг Excel отличается от CSV — научная нотация, ведущие нули, многолистовые книги. Разбираем три способа извлечения номеров: ручной, Python (openpyxl/pandas), специализированные инструменты. С примерами кода и объяснением подводных камней.
Разбираем четыре способа вычитания баз данных — от Excel до оптимизированных Set-based алгоритмов. Детальное сравнение производительности: O(n²) vs O(n). Замеры на реальных данных, объяснение сложности алгоритмов.
Разбираем четыре способа объединения CSV-файлов — от примитивного копирования до автоматической дедупликации. Сравниваем производительность, объясняем проблему дубликатов, выбираем оптимальный метод для работы с телефонными базами.
Разбираем четыре способа разделения больших CSV-файлов — от ручного редактирования до специализированных инструментов. Сравниваем производительность, оцениваем трудозатраты, выбираем оптимальный метод для разных задач.