Usuwanie duplikatów wierszy CSV

Kopie danych mogą pojawić się w plikach wyeksportowanych w formacie CSV w nieprzyjemny sposób: powtarzające się dostawy danych za pośrednictwem webhooków, dwie raporty połączone ręcznie lub operacje łączenia, które generują dodatkowe rzędy, których nie oczekiwaliśmy. Ten program usuwający duplikaty oblicza hasz każdego rzędu danych i zachowuje tylko pierwsze wystąpienie danej informacji, dzięki czemu wynik zachowuje oryginalny porządek rzędów, bez uwzględniania kopii. Rzęd nagłówkowy jest opcjonalny – zmienij jego ustawienie, jeśli plik rozpoczyna się bezpośrednio od danych.

Jak działa deduplikacja

  1. 1

    Wklej plik CSV

    Dołącz lub pomiń wiersz nagłówka; użyj pola wyboru, aby wskazać narzędziu, który to przypadek.

  2. 2

    Każdy wiersz jest haszowany

    Wiersze są parsowane do tablic, a skrót MD5 ich reprezentacji JSON służy jako klucz unikalności.

  3. 3

    Wygrywa pierwsze wystąpienie

    Zachowywany jest pierwszy wiersz o danym skrócie; kolejne wiersze o tej samej zawartości są po cichu pomijane.

  4. 4

    Nagłówek zostaje zachowany

    Gdy tryb nagłówka jest włączony, pierwszy wiersz jest zawsze przekazywany bez zmian i nie podlega deduplikacji względem danych.

Co uznaje się za duplikat?

Narzędzie wykorzystuje równość całych wierszy. Dwa wiersze są uznawane za duplikaty, gdy wszystkie ich komórki są identyczne, pozycja po pozycji, po standardowym parsowaniu pliku CSV.

Co mimo to jest traktowane jako różne

Wiersz A Wiersz B Traktowane jako
Alice,30,Paris Alice, 30, Paris Różne (dodatkowe spacje)
Bob,25 Bob,25, Różne (pusta komórka na końcu)
"Jane Smith",42 Jane Smith,42 Takie same (cudzysłowy są obsługiwane na poziomie parsera)
TRUE,1 true,1 Różne (z uwzględnieniem wielkości liter)

Kiedy deduplikacja na poziomie kolumny jest bardziej odpowiednia

Dopasowywanie całych wierszy jest rygorystyczne, co zazwyczaj jest pożądane, ale czasem naprawdę potrzebujesz „jednego wiersza na adres e-mail, niezależnie od pozostałych kolumn”. W takim przypadku najpierw użyj narzędzia Ekstraktor Kolumn CSV, aby ograniczyć plik do samej kolumny kluczowej, usuń w niej duplikaty i wykorzystaj wynik jako tabelę wyszukiwania. Alternatywnie możesz skorzystać z instrukcji SQL: SELECT DISTINCT ON (email) * FROM users ORDER BY email, created_at DESC; w PostgreSQL lub GROUP BY w połączeniu z agregatami MIN() w innych miejscach.

Praktyczne wskazówki

  • Znormalizuj dane przed deduplikacją. Najpierw usuń zbędne spacje i ujednolić wielkość liter w kolumnach kluczowych; w przeciwnym razie zarówno ALICE@EXAMPLE.COM, jak i alice@example.com pozostaną w wyniku.
  • Najpierw posortuj, potem deduplikuj, aby wynik dało się zweryfikować. Jeśli musisz wiedzieć, która kopia została zachowana, przed uruchomieniem narzędzia posortuj plik CSV według preferowanego kryterium rozstrzygającego (najnowszy znacznik czasu, najniższy identyfikator).
  • Sprawdź liczbę wierszy. Użyj narzędzia Licznik Wierszy CSV na pliku oryginalnym i wynikowym, aby potwierdzić, ile duplikatów zostało usuniętych.

Najczęściej zadawane pytania

Nie, haszuje całe sparsowane wiersze. Aby zapewnić unikalność w obrębie jednej kolumny, najpierw ogranicz plik CSV do tej kolumny za pomocą narzędzia Ekstraktor Kolumn CSV, a następnie uruchom program usuwania duplikatów.

Pierwsze wystąpienie w pliku. Jeśli chcesz zachować konkretną kopię (najnowszy rekord, rekord o najniższym ID itp.), posortuj plik CSV wcześniej.

Tak. Wiersze są parsowane zgodnie ze standardowymi zasadami CSV, dlatego "Jane, Smith" pozostaje jedną komórką i tak też jest porównywany.

Plik CSV jest wysyłany na nasz serwer w celu obliczenia deduplikacji. Nie jest zapisywany ani udostępniany i nie jest dodawany do linku strony.

Powiązane narzędzia