CSV-dubblettrensare

Dubbletter smyger sig in i CSV-exporter på irriterande sätt: upprepade webhook-leveranser, två rapporter sammanfogade för hand, eller en join som fläktade ut rader du inte väntade dig. Den här dubblettrensaren hashar varje datarad och behåller endast den första förekomsten, så att utdatan bevarar din ursprungliga radordning samtidigt som den tyst tar bort kopiorna. Rubrikraden är valfri, slå om växeln om din fil börjar direkt med data.

Så fungerar dubblettrensningen

  1. 1

    Klistra in CSV:en

    Inkludera eller exkludera rubrikraden; använd kryssrutan för att tala om för verktyget vilket det är.

  2. 2

    Varje rad hashas

    Rader tolkas till arrayer och en MD5 av deras JSON-representation används som unikhetsnyckel.

  3. 3

    Först sedd vinner

    Den första raden med en given hash behålls. Senare rader med samma innehåll hoppas över tyst.

  4. 4

    Rubriken bevaras

    Om rubrikläget är på släpps rad 1 alltid igenom utan att dubblettkontrolleras mot datan.

Vad som räknas som en dubblett

Dubblettrensaren använder likhet för hela raden. Två rader är dubbletter när varje cell matchar, position för position, efter standard-CSV-tolkning.

Saker som fortfarande räknas som olika

Rad A Rad B Behandlas som
Alice,30,Paris Alice, 30, Paris Olika (extra mellanslag)
Bob,25 Bob,25, Olika (avslutande tom cell)
"Jane Smith",42 Jane Smith,42 Samma (citering är på tolkningsnivå)
TRUE,1 true,1 Olika (skiftlägeskänsligt)

När en dubblettrensning på kolumnnivå vore lämpligare

Matchning av hela raden är strikt, vilket oftast är vad du vill, men ibland vill du faktiskt ha “en rad per e-post oavsett andra kolumner”. I det fallet, använd först CSV-kolumnutdragaren för att reducera filen till bara nyckelkolumnen, dubblettrensa den, och använd resultatet som en uppslagning. Eller ta till SQL: SELECT DISTINCT ON (email) * FROM users ORDER BY email, created_at DESC; i PostgreSQL, eller en GROUP BY med MIN()-aggregat på andra håll.

Praktiska tips

  • Normalisera innan du dubblettrensar. Trimma blanksteg och standardisera skiftläge på nyckelkolumnerna först, annars överlever både ALICE@EXAMPLE.COM och alice@example.com.
  • Sortera, sedan dubblettrensa, för granskningsbara resultat. Om du behöver veta vilken kopia som behölls, sortera CSV:en efter din föredragna avgörare (senaste tidsstämpel, lägsta ID) innan du kör dubblettrensaren.
  • Kontrollera radantalet. Använd CSV-radräknaren på originalet och utdatan för att bekräfta hur många dubbletter som togs bort.

Vanliga frågor

Nej, den hashar fullständigt tolkade rader. För unikhet på en enda kolumn, smalna först av CSV:en till den kolumnen med kolumnutdragaren och kör sedan dubblettrensaren.

Den första förekomsten i filen. Sortera CSV:en i förväg om du vill att en specifik kopia (den nyaste posten, det lägsta ID:t, osv.) ska vinna.

Ja. Rader tolkas med standard-CSV-regler, så "Jane, Smith" förblir en enda cell och jämförs som sådan.

CSV:en skickas till vår server för att beräkna dubblettrensningen. Den lagras inte, delas inte och läggs inte till i sidans länk.

Relaterade verktyg

Verktyget finns på andra språk