Fredit Flow
Сценарии

Автоматизированная очистка данных: один проверенный шаг за другим

03
Сценарий

Неряшливая выгрузка, скрипт и новый файл

Автоматизированная очистка данных здесь — это скрипт на Python, который применяет ваши записанные правила к файлу и сохраняет результат как новый файл. У вас есть выгрузка с лишними пробелами, повторяющимися строками и числами в виде текста. Скрипт остаётся у вас. Его можно читать и запускать снова, а оригинал никогда не становится результатом.

01

Откройте папку проекта

Выберите папку со своей выгрузкой и её копией. Файловые инструменты работают внутри этой папки чата.

02

Опишите правила

Скажите, какие столбцы обрезать, по какому ключу искать дубликаты и что делать с пустыми значениями. Plan only сначала перечислит шаги.

03

Запустите на копии

Shell запускает скрипт вашей командой Python и показывает настоящий код завершения и выведенное число строк.

04

Проверьте результат

Прочитайте diff, сравните новый файл с оригиналом и вручную просмотрите строки, прежде чем принимать.

Скрипт, который можно прочитать за минуту

clean_customers.py
rows = [
    {"email": " Ann@Mail.com ", "age": "34"},
    {"email": "ann@mail.com", "age": "34"},
    {"email": "Bo@Mail.com", "age": "n/a"},
]
seen, clean = set(), []
for row in rows:
    email = row["email"].strip().lower()
    if email in seen:
        continue
    seen.add(email)
    try:
        age = int(row["age"].strip())
    except ValueError:
        age = None
    clean.append({"email": email, "age": age})
print("rows in:", len(rows), "rows out:", len(clean))

Он убирает пробелы, приводит e-mail к нижнему регистру, пропускает повторы через set и превращает текст возраста в число или None. В нём 3 выдуманные строки. При запуске он выводит 3 на входе, 2 на выходе.

Два проекта по очистке данных шаг за шагом

Удалите дубликаты из большого CSV

Чтобы удалить дубликаты из большого CSV, сначала нужен чёткий ключ, например нормализованный адрес e-mail, потому что точные дубликаты пропускают строки, отличающиеся только пробелами или регистром. Fredit Flow через grep ищет в столбце ключа лишние пробелы и заглавные буквы, затем write_file сохраняет dedupe.py, а Shell запускает его на копии выгрузки вашей командой Python. Скрипт оставляет первую строку для каждого ключа, а остальные записывает в отдельный файл. Оригинал остаётся. Проверьте 2 выведенных числа строк, откройте файл для просмотра и убедитесь, что каждая пара действительно один и тот же клиент, прежде чем принимать результат.

Запустите скрипт снова после второго взгляда

Очистка данных CSV редко заканчивается за один проход, а возвраты между очисткой и анализом — норма: график показывает странное значение, вы добавляете правило и запускаете снова. Попросите внести изменение. edit_file обновляет скрипт и показывает diff, Shell перезапускает его на той же копии, а новый запуск должен писать в выходной файл с другим именем, чтобы первый сохранился; это можно проверить в diff. Затем запустите его один раз на втором образце файла из того же источника. Если код завершения или число строк выглядит неверно, вы останавливаетесь, снова читаете diff и решаете сами.

Fredit Flow для Windows

Начните с одного небольшого файла, который принадлежит вам

Скачать Fredit Flow ↗