Відкрийте теку проєкту
Виберіть теку з вашим власним експортом і його копією. Файлові інструменти працюють усередині цієї теки чату.
Автоматизоване очищення даних тут означає скрипт Python, який застосовує ваші записані правила до файлу й зберігає результат як новий файл. У вас є один експорт із зайвими пробілами, повторюваними рядками та числами, збереженими текстом. Скрипт лишається у вас. Його можна прочитати й запустити знову, а оригінал ніколи не стає вихідним файлом.
Виберіть теку з вашим власним експортом і його копією. Файлові інструменти працюють усередині цієї теки чату.
Скажіть, які стовпці обрізати, за яким ключем шукати дублікати і що робити з порожніми значеннями. Plan only спершу перелічує кроки.
Shell запускає скрипт вашою командою Python і показує справжній код виходу та надруковану кількість рядків.
Прочитайте diff, порівняйте новий файл з оригіналом і вручну вибірково перегляньте рядки, перш ніж прийняти.
./1 файл./clean_customers.pyзбереженоyour Python command clean_customers.pyкод виходу 0./clean_customers.py17 рядків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, спершу потрібен чіткий ключ, наприклад нормалізована адреса e-mail, адже дублікати з точним збігом пропускають рядки, що відрізняються лише пробілами чи регістром. Fredit Flow через grep шукає в стовпці з ключем зайві пробіли й великі літери, потім write_file зберігає dedupe.py, а Shell запускає його на копії експорту вашою власною командою Python. Скрипт лишає перший рядок для кожного ключа, а решту записує в окремий файл. Оригінал лишається. Перевірте дві кількості рядків, які він друкує, відкрийте файл для огляду й переконайтеся, що кожна пара справді є тим самим клієнтом, перш ніж приймати результат.
Очищення даних CSV рідко завершується за один прохід, а ітерації між очищенням і аналізом — звичайна річ: діаграма показує дивне значення, ви додаєте правило й запускаєте знову. Попросіть про зміну. edit_file оновлює скрипт і показує diff, Shell перезапускає його на тій самій копії, а новий запуск має писати у вихідний файл з іншою назвою, щоб перший зберігся; це можна перевірити в diff. Потім запустіть його один раз на другому зразку файлу з того самого джерела. Якщо код виходу чи кількість рядків виглядає неправильно, зупиніться, ще раз прочитайте diff і вирішуйте самі.