Apri il file originale e quello aggiornato, scegli la colonna che identifica una riga, per esempio il numero d’ordine o lo SKU, e le differenze compaiono subito: le righe presenti solo nel file aggiornato risultano aggiunte, quelle presenti solo nell’originale eliminate, e quelle presenti in entrambi con valori diversi modificate, con il valore prima e dopo. Le righe possono spostarsi in qualsiasi punto del file senza contare come modifica. Il risultato si scarica come report CSV con una riga per ogni cella modificata. Il confronto avviene nel browser e i file non vengono mai caricati.
Come confrontare due file CSV
- Apri il file originale nel primo riquadro e quello aggiornato nel secondo. Ogni riquadro ha le sue impostazioni di importazione per delimitatore, intestazione e codifica, quindi puoi confrontare un export con il punto e virgola con uno separato da virgole.
- Abbina le righe tramite colonne chiave e seleziona una o più colonne tra quelle comuni ai due file. Usane più di una quando nessuna da sola è univoca, per esempio
order_ideline. - Imposta le eventuali opzioni di confronto, controlla il riepilogo e l’elenco delle differenze, filtrato se vuoi su aggiunte, eliminate o modificate, poi scarica il report delle differenze.
Se i file non hanno una colonna identificativa e sai che le righe sono nello stesso ordine, abbina invece per posizione della riga: la riga 1 viene confrontata con la riga 1 e così via. In questo caso basta una riga inserita perché tutte quelle successive risultino modificate, quindi usa una chiave ogni volta che puoi.
Opzioni di confronto
| Ignora maiuscole e minuscole | Desk Lamp è uguale a desk lamp. Vale sia per le colonne chiave sia per i valori. |
|---|---|
| Ignora gli spazi in eccesso | Toglie gli spazi all’inizio e alla fine e, prima del confronto, tratta come un unico spazio qualsiasi sequenza di spazi, tabulazioni o a capo all’interno di un valore. Vale anche per le chiavi. |
| Tolleranza numerica | Se entrambi i valori sono numeri, sono considerati uguali quando differiscono al massimo di questa quantità, per esempio 0.01. Il calcolo è in decimale esatto, non in virgola mobile, e con tolleranza 0 i valori 45.0 e 45.00 risultano lo stesso numero. Sono numeri solo i valori scritti con il punto decimale e senza separatore delle migliaia: 1,000 resta testo, mentre 1e3 viene letto come 1000. Quindi anche gli importi in formato italiano come 1.234,50 restano testo. Con una tolleranza, inoltre, 007 è uguale a 7, perché entrambi vengono letti come numeri. Lascia il campo vuoto per confrontare il testo in modo esatto. |
| Colonne da ignorare | Colonne escluse del tutto dal confronto, come updated_at o una data di esportazione che cambia a ogni export. |
Le colonne presenti in un solo file vengono elencate nel riepilogo e non vengono confrontate. Se sono la stessa colonna con un nome nuovo, rinominale con Mappa colonne CSV.
Chiavi ripetute e chiavi vuote
Una chiave dovrebbe identificare una sola riga. Quando non è così, nulla viene nascosto: il riepilogo conta le chiavi ripetute e indica la prima, e le righe con la stessa chiave vengono abbinate nell’ordine in cui compaiono. La prima riga dell’originale con chiave 1 viene confrontata con la prima riga dell’aggiornato con chiave 1, la seconda con la seconda, e le eventuali righe in più da una parte o dall’altra risultano eliminate o aggiunte.
Questo abbinamento può segnalare come modifica quello che in realtà è uno scambio di posizione tra due righe con la stessa chiave. Se il riepilogo parla di chiavi ripetute, aggiungi altre colonne chiave finché ogni combinazione è univoca. Le righe con tutte le colonne chiave vuote vengono contate a parte, perché di solito derivano da righe vuote o da un export difettoso.
Come leggere i risultati e il report
Il riepilogo indica il numero di righe aggiunte, eliminate, modificate e invariate e il totale delle celle modificate. L’elenco mostra le differenze nell’ordine del file originale, seguite dalle righe presenti solo nel file aggiornato. Per ciascuna vedi la chiave e il numero di riga in ogni file, contando le righe di dati da 1 senza l’intestazione. La pagina mostra le prime 500 differenze; il report le contiene tutte.
change | added, removed o changed. |
|---|---|
| Colonne chiave | Il valore della chiave. Se ignori maiuscole o spazi, la chiave compare come è stata confrontata, in minuscolo o senza spazi esterni. Con l’abbinamento per posizione c’è un’unica colonna row con il numero di riga. |
original_row, updated_row | Numero della riga di dati in ciascun file; vuoto per il file in cui la riga non esiste. |
column, original_value, updated_value | Una riga per ogni cella modificata. Vuoti per le righe aggiunte ed eliminate, che occupano una riga ciascuna. |
Il report è un CSV UTF-8 che prende il nome dal file aggiornato, per esempio feb-changes.csv. Aprilo nel visualizzatore CSV per ordinare o cercare le differenze.
Risoluzione dei problemi
- Tutte le righe risultano aggiunte ed eliminate. I valori della chiave sono scritti in modo diverso nei due file, per esempio
00123contro123o con uno spazio finale. Attiva l’opzione che ignora gli spazi in eccesso oppure sistema la colonna con Pulisci CSV. Gli zeri iniziali contano sempre nelle chiavi, perché le chiavi vengono confrontate come testo. - Numeri uguali risultano modificati.
45.00e45.0sono testi diversi: indica una tolleranza come0o0.005per confrontarli come numeri. I numeri con la virgola decimale o con i separatori delle migliaia vengono sempre confrontati come testo. - Una colonna chiave non compare nell’elenco. Possono fare da chiave solo le colonne presenti in entrambi i file, e i nomi devono coincidere esattamente. Controlla le impostazioni di importazione se l’intera intestazione è finita in una sola colonna.
- Da un certo punto in poi tutte le righe risultano modificate. Stai abbinando per posizione e una riga è stata inserita o eliminata. Passa all’abbinamento tramite colonne chiave.
Limiti e privacy
Ogni file può arrivare a 25 MB, 100.000 righe, 250 colonne e 2 milioni di celle. Il confronto non avviene in streaming: entrambi i file restano in memoria e le differenze si aggiornano quando cambi le opzioni.
I file vengono confrontati nel browser e non vengono mai inviati a un server. Per combinare le due versioni usa invece Unisci file CSV; per verificare un singolo file rispetto a delle regole usa Convalida CSV.
Esempio
Due listini prodotti con chiave sku, confrontati con le impostazioni esatte predefinite. Le righe sono in un ordine diverso, ma non conta. Ignorando maiuscole e spazi e con una tolleranza di 0.001, resta solo la modifica di stock su 00456.
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,,,
Domande frequenti
L’ordine delle righe conta?
No, se abbini tramite colonne chiave: le righe vengono trovate in base alla chiave, ovunque si trovino nei due file. L’ordine conta solo con l’abbinamento per posizione della riga.
Quale file va messo come originale?
Quello più vecchio. Le righe presenti solo nel secondo file risultano aggiunte e quelle presenti solo nel primo eliminate: se inverti i file, si invertono anche questi due elenchi e i valori prima e dopo.
Posso confrontare colonne con nomi diversi?
Vengono confrontate solo le colonne con la stessa intestazione in entrambi i file, e ogni colonna chiave deve avere lo stesso nome nei due file. Rinomina prima le colonne di uno dei file con Mappa colonne CSV.