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
- 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.
- 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_idenline. - 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 negeren | Desk Lamp is gelijk aan desk lamp. Geldt zowel voor sleutelkolommen als voor waarden. |
|---|---|
| Overtollige spaties negeren | Haalt 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 getallen | Zijn 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 negeren | Kolommen 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.
change | added, removed of changed. |
|---|---|
| Sleutelkolommen | De 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_row | Rijnummers van de gegevens in elk bestand; leeg aan de kant waar de rij niet bestaat. |
column, original_value, updated_value | Eé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
00123tegenover123, 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.00en45.0zijn verschillende tekst; vul een tolerantie in zoals0of0.005om 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.
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
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.