Per dividere le righe di un CSV in base a un delimitatore, usa CSV Rows Splitter di Datablist: seleziona la colonna con più valori, scegli il delimitatore presente nelle celle, controlla l'anteprima delle righe generate e scarica il CSV normalizzato. Nel file ottenuto, la colonna selezionata contiene un solo valore per riga, mentre le altre colonne vengono copiate nelle nuove righe.
È il workflow che uso quando un'esportazione da un CRM o da un ecommerce, un file con i risultati di un sondaggio o dei dati estratti tramite scraping raccolgono più email, tag, numeri di telefono, categorie, URL o ID in una sola cella. È più rapido che impostare formule quando devi pulire un unico file e ti permette di controllare il risultato prima dell'esportazione.
Questa guida spiega come distribuire su più righe i valori contenuti in una colonna CSV. Se invece vuoi dividere un file CSV di grandi dimensioni in più file piccoli, usa il CSV file splitter di Datablist.
Link rapidi
- Cosa significa dividere le righe CSV per delimitatore
- Esempio di CSV con più email in una cella
- Dividere le righe CSV con Datablist
- Scegliere il delimitatore e le opzioni di pulizia
- Controllare l'anteprima e scaricare il CSV normalizzato
- Verificare il risultato prima di importarlo altrove
Cosa significa dividere le righe CSV per delimitatore
Dividere le righe di un CSV in base a un delimitatore significa prendere un campo che contiene diversi valori e trasformare ciascun valore in una riga distinta.
Ad esempio, questa riga di input:
Name,Company,Emails,Tags
Mia Chen,Acme,"mia.chen@example.test,mia@workmail.test","lead,customer"
diventa due righe di output quando dividi la colonna Emails usando la virgola:
Name,Company,Emails,Tags
Mia Chen,Acme,mia.chen@example.test,"lead,customer"
Mia Chen,Acme,mia@workmail.test,"lead,customer"
La colonna selezionata cambia, mentre tutte le altre vengono duplicate. In genere, è proprio il formato necessario prima di deduplicare i contatti, importare in un CRM un'email per riga, contare i tag o preparare i dati per un'altra operazione di pulizia.
🔑 Una distinzione importante
Un delimitatore CSV separa le colonne del file. Il delimitatore della cella separa più valori all'interno dello stesso campo.
Le righe che non contengono il delimitatore selezionato restano invariate. Per impostazione predefinita, le celle vuote vengono mantenute. Se una cella termina con un delimitatore, come mia@example.test,, puoi attivare l'opzione che ignora i valori vuoti per evitare di creare una riga senza contenuto.
L'output mantiene le stesse intestazioni dell'input. Il numero di righe aumenta soltanto quando la colonna selezionata contiene più valori.
Esempio CSV con più email in una cella
Per questa procedura userò un dataset di contatti, perché rende il problema particolarmente chiaro. Il file contiene queste colonne:
NameCompanyEmailsTagsPhone NumbersSource
Alcuni contatti hanno una sola email, altri ne hanno due o tre nella stessa cella Emails. In alcune celle sono presenti spazi dopo le virgole, valori ripetuti o un delimitatore finale. Queste piccole imperfezioni sono utili per capire quali opzioni di pulizia servono davvero.
Ecco una versione ridotta dell'input:
Name,Company,Emails,Tags
Mia Chen,Acme,"mia.chen@example.test,mia@workmail.test","lead,customer"
Lucas Martin,Northwind,"lucas@northwind.test, l.martin@personal.test, lucas@ops.test","lead,partner"
Sofia Lopez,Bluebird,sofia.lopez@example.test,customer
Ava Patel,Orbit,"ava@orbit.test, ava@orbit.test, a.patel@workmail.test","newsletter,trial"
Dopo aver diviso Emails usando la virgola, il risultato è questo:
Name,Company,Emails,Tags
Mia Chen,Acme,mia.chen@example.test,"lead,customer"
Mia Chen,Acme,mia@workmail.test,"lead,customer"
Lucas Martin,Northwind,lucas@northwind.test,"lead,partner"
Lucas Martin,Northwind,l.martin@personal.test,"lead,partner"
Lucas Martin,Northwind,lucas@ops.test,"lead,partner"
Sofia Lopez,Bluebird,sofia.lopez@example.test,customer
Ava Patel,Orbit,ava@orbit.test,"newsletter,trial"
Ava Patel,Orbit,a.patel@workmail.test,"newsletter,trial"
Nota le virgolette intorno a celle come "lead,customer". Quando la virgola compare anche all'interno di un campo CSV, quel campo deve essere racchiuso tra virgolette. In caso contrario, un parser CSV potrebbe interpretare lead e customer come due colonne distinte.
⚠️ Attenzione ai valori con virgole tra virgolette
Se la virgola è sia il separatore delle colonne CSV sia il delimitatore interno a una cella, la cella con più valori deve essere racchiusa tra virgolette. Se dopo l'importazione le colonne risultano sfalsate, consulta questa guida alle virgolette nei CSV.
Per gli screenshot ho usato un CSV sintetico più grande, con 120 righe di contatti. Non è necessario avere lo stesso file per seguire la procedura: va bene qualsiasi CSV con una colonna contenente più valori.
Passaggio 1: apri CSV Rows Splitter
Apri CSV Rows Splitter di Datablist. Lo strumento è pensato per un compito preciso: distribuire su più righe i valori contenuti in una colonna CSV selezionata.
Puoi incollare del testo CSV oppure caricare un file CSV. Quando devo verificare il delimitatore, di solito incollo prima un piccolo campione; una volta confermate le impostazioni, carico il file completo.
La pagina dello strumento indica che l'elaborazione avviene localmente nel browser e che il file non viene caricato su un server. È quindi una soluzione pratica per pulire rapidamente un CSV senza dover prima creare un intero workspace.
In questa fase, assicurati soprattutto che il CSV venga interpretato correttamente. Le impostazioni dello splitter entreranno in gioco dopo; il primo controllo è più semplice: intestazioni e colonne sono al posto giusto?
Passaggio 2: incolla o carica il CSV
Incolla il CSV nell'area di input oppure carica il file dal computer. Per fare una prova, puoi incollare il frammento della sezione precedente. Per una pulizia reale, carica l'esportazione completa.
Dopo l'importazione, controlla tre aspetti:
- La riga delle intestazioni è stata rilevata correttamente.
- Il campo con più valori compare come un'unica colonna.
- I valori non sono finiti sotto intestazioni errate.
Se il campo Emails contiene a@example.test,b@example.test, ma i due valori compaiono in colonne diverse, il problema non dipende dal row splitter. Probabilmente mancano le virgolette intorno a un campo che contiene virgole.
Preferisco correggere questo errore prima di dividere le righe. Quando i valori sono già sfalsati, ogni successiva operazione di pulizia diventa più complessa perché la struttura del file è compromessa.
Lo splitter di Datablist gestisce i campi CSV tra virgolette e le codifiche più comuni, come UTF-8 e i file in stile Windows-1252. Vale comunque la pena controllare l'anteprima. Non salto mai questo passaggio quando il file proviene da un'esportazione CRM o da uno strumento di scraping, perché questi file contengono spesso separatori insoliti o testo copiato.
Passaggio 3: seleziona la colonna con più valori
Scegli la colonna da distribuire su più righe. In questo esempio seleziono Emails.
Lo strumento può suggerire una probabile colonna da dividere e il relativo delimitatore analizzando il contenuto del CSV. Consideralo una scorciatoia utile, non una decisione da accettare senza controlli. Prima dell'esportazione verifico comunque la colonna selezionata, perché un file può includere separatori in diversi campi, come Emails, Tags e Phone Numbers.
Tra le colonne che si dividono più spesso ci sono:
EmailsPhone NumbersTagsCategoriesSkillsLine ItemsURLs
La versione attuale di CSV Rows Splitter elabora una sola colonna alla volta. Puoi sottoporre nuovamente a elaborazione il file scaricato per dividere una seconda colonna, ma prima devi capire se i valori sono indipendenti o abbinati. Divisioni successive generano combinazioni: non associano gli elementi delle liste in base alla loro posizione.
Questo limite a una sola colonna è generalmente un vantaggio durante la pulizia: puoi controllare ogni trasformazione senza moltiplicare i dati e ottenere una struttura diversa da quella desiderata.
Espandere una colonna CSV senza perdere le relazioni
“Espandere una colonna” significa trasformare i valori di una lista in righe distinte. Prima della divisione, conserva un Source ID: potrai così risalire dal nuovo record alla riga originale. Un numero maggiore di righe non corrisponde necessariamente a un numero maggiore di clienti unici.
Immagina che una riga originale contenga due email e tre numeri di telefono. Dividendo Emails ottieni due righe, ciascuna delle quali contiene ancora tutti e tre i numeri. Se poi dividi Phone Numbers nel file esportato, ottieni sei righe: ogni email viene combinata con ogni numero di telefono. Lo splitter non può sapere quale numero appartiene a quale email.
| Fase | Righe generate da un record di origine | Significato |
|---|---|---|
| Originale: due email e tre numeri | 1 | Entrambi i campi contengono ancora delle liste. |
| Divisione di Emails | 2 | Un'email per riga; tutti i numeri vengono copiati in ogni riga. |
| Divisione di Phone Numbers nel file esportato | 6 | Tutte le combinazioni tra email e numero, non abbinamenti verificati. |
Se le liste sono abbinate, ad esempio Product ID e Quantity nelle rispettive posizioni, ristrutturale insieme prima di usare uno splitter per una sola colonna. Se invece si tratta di tag indipendenti, le combinazioni potrebbero essere intenzionali. Prima di decidere, verifica la struttura richiesta dal sistema di destinazione.
Remove duplicates elimina i frammenti identici ottenuti dalla divisione all'interno di ogni cella originale. Non deduplica l'intero file e non unisce i clienti. Il confronto distingue tra maiuscole e minuscole, quindi Lead e lead restano valori diversi. Trim spaces può rimuovere gli spazi iniziali e finali prima del confronto, ma non uniforma maiuscole, minuscole o grafie diverse.
Scegli con attenzione la colonna e il delimitatore, conserva il Source ID e, dopo l'esportazione, confronta i conteggi raggruppandoli per quell'ID. Per gestire i record duplicati nell'intero file, usa un workflow separato per la deduplicazione dei CSV.
Passaggio 4: scegli il delimitatore nella cella
Ora scegli il delimitatore che separa i valori all'interno della cella selezionata.
Nell'esempio relativo a Emails, scelgo la virgola perché le celle si presentano così:
"mia.chen@example.test,mia@workmail.test"
Datablist supporta i delimitatori di cella più comuni:
- Virgola
- Punto e virgola
- Barra verticale
- Tabulazione
- Delimitatore personalizzato
Usa la virgola per semplici liste di email, tag e categorie, purché i singoli valori non contengano virgole. Scegli il punto e virgola o la barra verticale quando i valori possono includere virgole, come nel caso di nomi di aziende, località o etichette di categoria. Usa un delimitatore personalizzato per le esportazioni che adottano stringhe come /, ### o un altro separatore definito dal sistema di origine.
L'importante è scegliere il delimitatore presente nella cella selezionata, non il separatore delle colonne CSV. Un file CSV può usare la virgola per separare le colonne e, al tempo stesso, il punto e virgola per dividere i numeri di telefono nella cella selezionata:
Name,Phone Numbers
Mia Chen,"+1-555-1000; +1-555-2000"
In questo caso, il separatore delle colonne CSV è la virgola, mentre il delimitatore della cella è il punto e virgola.
Passaggio 5: configura spazi, duplicati e valori vuoti
Per i dati di contatto, in genere parto da queste impostazioni:
- Attiva Trim spaces.
- Attiva Remove duplicates quando i valori ripetuti sono semplici errori da pulire.
- Attiva Skip empty values quando le celle potrebbero terminare con un delimitatore.
Trim spaces è l'impostazione predefinita più semplice da consigliare. Trasforma valori come lucas@northwind.test in lucas@northwind.test. Le esportazioni CRM inseriscono spesso uno spazio dopo ogni virgola e quello spazio può impedire in seguito una corrispondenza esatta.
Remove duplicates è utile quando una cella contiene due volte lo stesso valore:
"ava@orbit.test, ava@orbit.test, a.patel@workmail.test"
Con la rimozione dei duplicati attiva, questa riga genera una sola occorrenza di ava@orbit.test, anziché due. Di solito attivo l'opzione per email, numeri di telefono, URL e tag, perché in questi campi i valori ripetuti raramente hanno un significato.
Lascia disattivata la rimozione dei duplicati quando una ripetizione veicola un'informazione. Ad esempio, se in una risposta a un sondaggio o nell'esportazione di un ordine la ripetizione di un Product ID rappresenta la quantità, eliminarla modificherebbe il significato dei dati.
Skip empty values è utile in presenza di delimitatori finali:
"mia@example.test,"
Se non ignori i valori vuoti, lo spazio senza contenuto dopo la virgola potrebbe diventare una riga vuota nell'output. Attivando l'opzione, il file mantiene soltanto la riga con l'email.
🔍 Le mie impostazioni predefinite
Per pulire i contatti, attivo Trim spaces, Remove duplicates e Skip empty values. Cambio queste impostazioni soltanto quando i valori ripetuti o vuoti hanno un significato per il business.
Se i filtri eliminano tutti i valori ottenuti dalla divisione di una cella, la riga originale viene mantenuta. In questo modo non perdi le righe in cui il campo selezionato è vuoto o nelle quali le opzioni di pulizia rimuovono tutti i frammenti non validi.
Passaggio 6: controlla l'anteprima delle righe generate
Prima di scaricare il file, controlla l'anteprima e il numero di righe.
Rows before indica il numero di righe di dati originali. Rows after mostra quante righe risultano dopo l'espansione. Se un file di 120 righe ne produce 190, significa che alcune celle contenevano due o più valori.
Nell'anteprima controllo alcuni tipi di record:
- Un contatto con una sola email deve restare su una sola riga.
- Un contatto con due email deve generare due righe.
- Un contatto con email ripetute non deve generare righe duplicate se Remove duplicates è attivo.
- Le altre colonne, come
Company,TagseSource, devono essere copiate in ogni riga generata. - I valori vuoti devono comparire soltanto se ho scelto di mantenerli.
L'anteprima può essere limitata a 100 righe di output. Questo non significa che verranno esportate soltanto 100 righe: il CSV scaricato contiene l'intero risultato generato.
⚠️ L'anteprima serve per verificare il risultato
Usa l'anteprima per confermare la struttura, non per contare manualmente ogni riga. Per i file più grandi, scarica il CSV e controlla l'output completo nel tuo foglio di calcolo, nel workflow di staging del CRM o nel CSV editor di Datablist.
Passaggio 7: scarica il CSV normalizzato
Quando l'anteprima è corretta, copia il CSV generato oppure scaricalo.
Per le operazioni più piccole, copiare il contenuto è sufficiente. Per i file più grandi o per quelli che intendi importare in un altro strumento, conviene scaricare il CSV. Le intestazioni sono le stesse dell'input, ma la colonna selezionata contiene ora un solo valore per riga.
Questo formato normalizzato è più facile da usare per:
- Importazioni CRM che richiedono un'email o un numero di telefono per riga.
- Deduplicazione per email, numero di telefono, SKU, URL o ID.
- Conteggio di tag, categorie, skill o line item.
- Filtraggio dei record prima dell'enrichment.
- Join con un altro dataset.
Se il problema successivo sono i contatti duplicati, dopo la divisione usa un workflow per rimuovere le righe duplicate da un CSV. Preferisco dividere prima i valori quando l'identificatore che mi interessa è racchiuso in una cella multi-valore.
Controlla il risultato prima di usarlo
Ecco la verifica pratica che eseguo prima di importare l'output in un sistema importante.
Parti da una riga che dovrebbe essere espansa:
Name,Company,Emails,Tags
Lucas Martin,Northwind,"lucas@northwind.test, l.martin@personal.test, lucas@ops.test","lead,partner"
Dopo la divisione di Emails, dovrebbe diventare:
Name,Company,Emails,Tags
Lucas Martin,Northwind,lucas@northwind.test,"lead,partner"
Lucas Martin,Northwind,l.martin@personal.test,"lead,partner"
Lucas Martin,Northwind,lucas@ops.test,"lead,partner"
Poi controlla alcuni punti nel file completo:
- Confronta il numero di righe prima e dopo.
- Cerca eventuali valori vuoti nella colonna divisa.
- Filtra alcuni contatti che avevano uno, due e tre valori.
- Verifica che i campi tra virgolette vengano ancora aperti correttamente in un foglio di calcolo.
- Controlla i valori ripetuti se hai attivato Remove duplicates.
- Valida un piccolo campione di importazione prima di inviare l'intero file al CRM.
Quest'ultimo punto è importante. Alcuni CRM richiedono un contatto per riga e più campi email; altri preferiscono un'email per riga o una tabella correlata separata. La struttura CSV corretta dipende dal formato di importazione del sistema di destinazione.
Altre colonne CSV che puoi dividere in righe
Lo stesso workflow funziona con qualsiasi colonna in cui una cella contiene una lista.
I tag dei prodotti sono un buon esempio. Se una colonna Tags contiene electronics,computers,work, dividendola ottieni una riga per ogni tag. In questo modo conteggio, filtri ed enrichment diventano più semplici.
Per i numeri di telefono, spesso è meglio usare il punto e virgola o la barra verticale:
Name,Phone Numbers
Mia Chen,"+1-555-1000; +1-555-2000"
In questo caso, attiva Trim spaces. Le esportazioni dei numeri di telefono includono spesso uno spazio dopo il punto e virgola.
Per le categorie ecommerce, scegli un delimitatore che non compaia nei nomi delle categorie. Se i nomi contengono virgole, la barra verticale è più sicura:
Product,Categories
Laptop,"Electronics|Computers|Work"
Anche gli URL estratti tramite scraping sono adatti a questo workflow. Un processo di scraping può restituire nella stessa cella diversi URL di profili, prodotti o altre pagine. Trasforma la lista in un URL per riga prima di procedere con validazione, enrichment o confronto.
Puoi usare lo stesso metodo anche per gli Order ID e i line item, prestando però attenzione al loro significato. Se Product ID ripetuti rappresentano una quantità, non rimuovere i duplicati. Se sono ripetizioni accidentali, eliminali.
Se non devi distribuire i valori su più righe, ma soltanto eliminare le ripetizioni all'interno di un campo multi-valore, consulta la guida su come deduplicare i campi multi-valore.
Risolvere i problemi comuni nella divisione di un CSV
Se i valori compaiono sotto intestazioni errate, probabilmente il CSV è stato interpretato male prima della divisione. La causa più comune è una virgola non racchiusa tra virgolette all'interno di un campo. Correggi le virgolette o esporta nuovamente il CSV, quindi reimportalo.
Se l'output contiene troppe righe, controlla innanzitutto il delimitatore. Potresti aver selezionato la virgola quando il vero delimitatore è un punto e virgola, una barra verticale o una stringa personalizzata. Verifica anche la presenza di valori duplicati e delimitatori doppi, come a@example.test,,b@example.test.
Se l'output contiene troppo poche righe, esamina una cella non elaborata della colonna selezionata. Il valore potrebbe utilizzare un delimitatore che non avevi notato. Alcuni sistemi, ad esempio, esportano le liste con una barra verticale:
"lead|customer|partner"
In questo caso, la virgola non dividerà alcun valore.
Se rimangono spazi prima dei valori, attiva Trim spaces e ripeti l'operazione. Gli spazi sono facili da ignorare finché non provi a trovare una corrispondenza esatta tra email o tag.
Se nell'anteprima compaiono soltanto 100 righe di output, scarica il CSV. L'anteprima può essere limitata, ma il file esportato contiene il risultato completo.
Se volevi suddividere un file CSV in file più piccoli, usa CSV file splitter. CSV Rows Splitter espande i valori contenuti nelle righe; CSV file splitter crea file separati.
Quando conviene dividere le righe CSV per delimitatore
Usa questo workflow quando ti serve un valore per riga prima di un'altra elaborazione dei dati.
È utile per:
- Normalizzare le esportazioni CRM prima della deduplicazione.
- Preparare un'email, un numero di telefono, un URL, un tag, una categoria o un ID per riga.
- Trasformare le liste ottenute tramite scraping in righe da filtrare e arricchire.
- Contare tag, skill, categorie o record collegati.
- Preparare importazioni che non accettano più valori nello stesso campo.
- Verificare se i valori ripetuti sono veri duplicati oppure dati previsti.
Non usare questo workflow se il sistema di destinazione richiede più valori nella stessa riga. Evitalo anche quando devi modellare contemporaneamente le relazioni tra diverse colonne. In questi casi può servire un workflow da database, anziché una semplice trasformazione CSV.
Per la maggior parte delle operazioni di pulizia, tuttavia, è sufficiente espandere una colonna alla volta. Otterrai un file chiaro, un conteggio delle righe comprensibile e una base pulita per il passaggio successivo.
Conclusione
Per dividere una colonna CSV in più righe devi soprattutto scegliere il campo e il delimitatore corretti. Carica o incolla il CSV, seleziona la colonna multi-valore, scegli il delimitatore interno alla cella, configura le opzioni di pulizia, controlla l'anteprima e scarica il file normalizzato.
L'output conserva le intestazioni originali, copia le altre colonne e inserisce un solo valore per riga nella colonna selezionata. Questa struttura è più facile da deduplicare, importare, filtrare, contare e arricchire.
Quando vuoi provare, apri CSV Rows Splitter e inizia con poche righe prima di elaborare il file completo.
FAQ
Come divido in righe i valori separati da virgole in un CSV?
Apri CSV Rows Splitter di Datablist, incolla o carica il CSV, seleziona la colonna con i valori separati da virgole, scegli la virgola come delimitatore della cella, controlla l'anteprima delle righe generate e scarica il risultato.
Qual è la differenza tra delimitatore CSV e delimitatore di cella?
Il delimitatore CSV separa le colonne del file. Il delimitatore interno a una cella separa più valori memorizzati nello stesso campo. Ad esempio, un CSV può usare la virgola tra le colonne, mentre una cella Phone Numbers usa il punto e virgola tra i diversi numeri.
Posso dividere una colonna CSV in righe senza Excel?
Sì. Usa CSV Rows Splitter online per incollare o caricare il file, scegliere la colonna e il delimitatore, controllare l'anteprima ed esportare un nuovo CSV. Non servono formule, Power Query o operazioni manuali di copia e incolla.
Posso dividere più colonne CSV contemporaneamente?
Il workflow attuale espande una sola colonna selezionata alla volta. Se devi dividere più colonne, scarica il risultato dopo la prima operazione, quindi carica nuovamente il CSV esportato nello strumento per elaborare la colonna successiva.
Cosa succede alle altre colonne quando divido una riga?
Le altre colonne vengono duplicate nelle righe generate. Se la riga di un contatto contiene tre email, Name, Company, Tags e gli altri campi vengono copiati in ciascuna delle tre righe di output.
Perché i valori separati da virgole finiscono in colonne diverse?
Probabilmente la cella contiene virgole, ma non è racchiusa tra virgolette come singolo campo CSV. Valori come "a@example.test,b@example.test" devono restare in un unico campo. Senza virgolette, il parser CSV può interpretare la virgola come separatore di colonna.
L'anteprima include tutte le righe di output?
Non sempre. L'anteprima può essere limitata a 100 righe di output, mentre il CSV scaricato contiene l'intero risultato generato.
Quando devo rimuovere i valori duplicati in una cella?
Rimuovi i duplicati quando le ripetizioni sono semplici errori da pulire, come email, tag, numeri di telefono, URL o ID ripetuti. Lascia invece l'opzione disattivata quando la ripetizione ha un significato, ad esempio per gli ID articolo ripetuti che rappresentano una quantità.




