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. Скрипт лишає перший рядок для кожного ключа, а решту записує в окремий файл. Оригінал лишається. Перевірте дві кількості рядків, які він друкує, відкрийте файл для огляду й переконайтеся, що кожна пара справді є тим самим клієнтом, перш ніж приймати результат.

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

Очищення даних CSV рідко завершується за один прохід, а ітерації між очищенням і аналізом — звичайна річ: діаграма показує дивне значення, ви додаєте правило й запускаєте знову. Попросіть про зміну. edit_file оновлює скрипт і показує diff, Shell перезапускає його на тій самій копії, а новий запуск має писати у вихідний файл з іншою назвою, щоб перший зберігся; це можна перевірити в diff. Потім запустіть його один раз на другому зразку файлу з того самого джерела. Якщо код виходу чи кількість рядків виглядає неправильно, зупиніться, ще раз прочитайте diff і вирішуйте самі.

Fredit Flow для Windows

Почніть з одного невеликого файлу, який вам належить

Завантажити Fredit Flow ↗