Direct naar de tool
ViewCSV
Niets wordt geüpload

CSV-bestanden vergelijken

Oorspronkelijk bestand
orders.csv· VOORBEELDGEGEVENS15 rijen · 8 kolommen
Bijgewerkt bestand
orders-updated.csv· VOORBEELDGEGEVENS15 rijen · 8 kolommen
Rijen koppelen
Sleutelkolommen
Kolommen die een rij in beide bestanden herkenbaar maken, zoals een ordernummer.
Kolommen die je wilt negeren
  • Rijen: 1 toegevoegd, 1 verwijderd, 2 gewijzigd, 12 ongewijzigd. Gewijzigde waarden: 2.
  • 1 sleutel komt meer dan eens voor (eerste: 001043). Herhalingen worden op volgorde aan elkaar gekoppeld.
  • Gewijzigd001042oorspronkelijke rij 2 bijgewerkte rij 2
    statuspaidshipped
  • Gewijzigd001044oorspronkelijke rij 4 bijgewerkte rij 4
    quantity312
  • Verwijderd001046oorspronkelijke rij 6
  • Toegevoegd001099 bijgewerkte rij 15

De download heeft één regel per gewijzigde waarde, plus de toegevoegde en verwijderde rijen.

Open het oorspronkelijke en het bijgewerkte bestand, kies de kolom die een rij herkenbaar maakt, zoals een order- of artikelnummer, en de verschillen verschijnen meteen. Rijen die alleen in het bijgewerkte bestand staan, zijn toegevoegd; rijen die alleen in het origineel staan, zijn verwijderd; en rijen die in beide staan maar andere waarden hebben, zijn gewijzigd, met per waarde de oude en de nieuwe versie. Rijen mogen overal in het bestand staan zonder dat dat als wijziging telt. Download het resultaat als CSV-rapport met één regel per gewijzigde cel. Beide bestanden worden in je browser vergeleken en nooit geüpload.

Zo vergelijk je twee CSV-bestanden

  1. Open het oorspronkelijke bestand in het eerste vak en het bijgewerkte bestand in het tweede. Elk vak heeft eigen importinstellingen voor scheidingsteken, kopregel en codering, dus je kunt een export met puntkomma’s vergelijken met een export met komma’s.
  2. Koppel op sleutel en vink een of meer sleutelkolommen aan uit de kolommen die in beide bestanden voorkomen. Gebruik meerdere kolommen als geen enkele kolom op zichzelf uniek is, zoals order_id en line.
  3. Stel eventueel vergelijkingsopties in, bekijk de samenvatting en de lijst met verschillen (desgewenst alleen toegevoegd, verwijderd of gewijzigd) en download daarna het wijzigingsrapport.

Koppel op rijpositie als de bestanden geen kolom met nummers hebben en je zeker weet dat de rijen in dezelfde volgorde staan: rij 1 wordt vergeleken met rij 1, enzovoort. Eén ingevoegde rij laat dan wel elke rij erna gewijzigd lijken, dus gebruik een sleutel als je die hebt.

Vergelijkingsopties

Hoofdletters en kleine letters negerenDesk Lamp is gelijk aan desk lamp. Geldt zowel voor sleutelkolommen als voor waarden.
Overtollige spaties negerenHaalt spaties aan begin en eind weg en ziet elke reeks spaties, tabs of regeleinden binnen een waarde als één spatie voordat er wordt vergeleken. Geldt ook voor sleutels.
Tolerantie voor getallenZijn beide waarden getallen, dan gelden ze als gelijk als ze maximaal dit bedrag verschillen, zoals 0.01. Er wordt exact decimaal gerekend, niet met drijvende komma, en een tolerantie van 0 ziet 45.0 en 45.00 als hetzelfde getal. Waarden zijn alleen getallen als ze een punt als decimaalteken hebben en geen scheidingsteken voor duizendtallen: 1,000 blijft tekst, terwijl 1e3 als 1000 wordt gelezen. Met een tolerantie is 007 ook gelijk aan 7, omdat beide als getal worden gelezen. Laat het veld leeg om tekst exact te vergelijken.
Kolommen die je wilt negerenKolommen die helemaal buiten de vergelijking blijven, zoals updated_at of een exporttijdstempel die elke keer verandert.

Kolommen die maar in één bestand voorkomen, staan in de samenvatting en worden niet vergeleken. Is het dezelfde kolom onder een nieuwe naam, hernoem hem dan met CSV-kolommen toewijzen.

Dubbele en lege sleutels

Een sleutel hoort één rij aan te wijzen. Doet hij dat niet, dan wordt er niets verborgen: de samenvatting telt de herhaalde sleutels en noemt de eerste, en rijen met dezelfde sleutel worden gekoppeld in de volgorde waarin ze voorkomen. De eerste oorspronkelijke rij met sleutel 1 wordt vergeleken met de eerste bijgewerkte rij met sleutel 1, de tweede met de tweede, en extra rijen aan een van beide kanten worden gemeld als verwijderd of toegevoegd.

Door die koppeling kan een wijziging worden gemeld die in werkelijkheid alleen een andere volgorde is van twee rijen met dezelfde sleutel. Noemt de samenvatting dubbele sleutels, voeg dan sleutelkolommen toe tot elke combinatie uniek is. Rijen waarvan alle sleutelkolommen leeg zijn, worden apart geteld, omdat ze meestal uit lege regels of een kapotte export komen.

De resultaten en het rapport lezen

De samenvatting geeft het aantal toegevoegde, verwijderde, gewijzigde en ongewijzigde rijen en het totale aantal gewijzigde cellen. De lijst toont de verschillen in de volgorde van het oorspronkelijke bestand, gevolgd door rijen die alleen in het bijgewerkte bestand staan. Bij elk verschil staan de sleutel en het rijnummer in elk bestand, waarbij gegevensrijen vanaf 1 worden geteld zonder de kopregel. De pagina toont de eerste 500 verschillen; het rapport bevat ze allemaal.

changeadded, removed of changed.
SleutelkolommenDe waarde van de sleutel. Staat het negeren van hoofdletters of spaties aan, dan wordt de sleutel getoond zoals hij is vergeleken: in kleine letters of zonder spaties eromheen. Bij koppelen op positie staat het rijnummer in één kolom row.
original_row, updated_rowRijnummers van de gegevens in elk bestand; leeg aan de kant waar de rij niet bestaat.
column, original_value, updated_valueEén regel per gewijzigde cel. Leeg bij toegevoegde en verwijderde rijen, die elk één regel krijgen.

Het rapport is een UTF-8-CSV met de naam van het bijgewerkte bestand, bijvoorbeeld feb-changes.csv. Open het in de CSV-viewer om de wijzigingen te sorteren of te doorzoeken.

Problemen oplossen

  • Elke rij verschijnt als toegevoegd én verwijderd. De sleutelwaarden zijn in de twee bestanden anders geschreven, bijvoorbeeld 00123 tegenover 123, of met een spatie achteraan. Zet ‘Overtollige spaties negeren’ aan, of herstel de kolom met CSV opschonen. Voorloopnullen tellen in sleutels altijd mee, omdat sleutels als tekst worden vergeleken.
  • Gelijke getallen verschijnen als gewijzigd. 45.00 en 45.0 zijn verschillende tekst; vul een tolerantie in zoals 0 of 0.005 om ze als getallen te vergelijken. Getallen met een decimale komma of scheidingstekens voor duizendtallen, zoals in veel Nederlandse exports, worden altijd als tekst vergeleken.
  • Een sleutelkolom ontbreekt in de lijst. Alleen kolommen die in beide bestanden voorkomen, kunnen sleutel zijn, en de namen moeten precies overeenkomen. Controleer de importinstellingen als de hele kopregel in één kolom is beland.
  • Elke rij na een bepaald punt is gewijzigd. Je koppelt op positie en er is een rij ingevoegd of verwijderd. Kies koppelen op sleutel.

Grenzen en privacy

Elk bestand mag tot 25 MB, 100.000 rijen, 250 kolommen en 2 miljoen cellen groot zijn. Vergelijken gebeurt niet in delen: beide bestanden staan in het geheugen, en de verschillen worden bijgewerkt zodra je opties wijzigt.

De bestanden worden in je browser vergeleken en nooit naar een server gestuurd. Wil je de twee versies juist combineren, gebruik dan CSV-bestanden samenvoegen. Om één bestand aan regels te toetsen, gebruik je CSV valideren.

Voorbeeld

Twee productlijsten met sku als sleutel, vergeleken met de standaardinstellingen (exact). De rijen staan in een andere volgorde, maar dat maakt niet uit. Met hoofdletters en spaties negeren aan en een tolerantie van 0.001 blijft alleen de wijziging in stock bij 00456 over.

CSV
jan.csv (original)
sku,name,price,stock
00123,Desk lamp,19.90,4
00456,Shelf,45.00,2
00789,Stool,12.00,9

feb.csv (updated)
sku,name,price,stock
00456,Shelf,45.0,0
00123,Desk Lamp ,19.90,4
01010,Bench,80.00,1
feb-changes.csv
change,sku,original_row,updated_row,column,original_value,updated_value
changed,00123,1,2,name,Desk lamp,"Desk Lamp "
changed,00456,2,1,price,45.00,45.0
changed,00456,2,1,stock,2,0
removed,00789,3,,,,
added,01010,,3,,,

Vragen en antwoorden

Maakt de volgorde van de rijen uit?

Niet als je op sleutel koppelt: rijen worden op hun sleutel gevonden, waar ze ook in elk bestand staan. De volgorde telt alleen als je op rijpositie koppelt.

Welk bestand moet het origineel zijn?

Het oudste. Rijen die alleen in het tweede bestand staan, worden gemeld als toegevoegd en rijen die alleen in het eerste staan als verwijderd. Wissel je de bestanden om, dan wisselen die twee lijsten en de oude en nieuwe waarden ook om.

Kan ik kolommen met verschillende namen vergelijken?

Alleen kolommen met dezelfde naam in beide bestanden worden vergeleken, en beide bestanden moeten voor elke sleutelkolom dezelfde naam gebruiken. Hernoem de kolommen in één bestand eerst met CSV-kolommen toewijzen.

Standaarden en bronnen