Suddividere una colonna di file csv
A cura di
Gianni Vitrano 
		
		| issue 
		#219
		
		
		
		| guida/e
		
		Andrea Borruso
		
		
	
Come si può suddividere velocemente in più colonne una colonna che in ogni cella, il più delle volte ha un elenco puntato?
Esempio:

Obbiettivo: Ottenere N colonne dalla colonna X
| Criterio A | Criterio B | Criterio C | Criterio D | Criterio E | Criterio F | Criterio G | 
|---|---|---|---|---|---|---|
| età e/o dimensioni | forma e portamento | valore ecologico | ||||
| età e/o dimensioni | rarità botanica | |||||
| età e/o dimensioni | ||||||
| età e/o dimensioni | valore ecologico | |||||
| età e/o dimensioni | ||||||
| età e/o dimensioni | 
Usare il classico Split o Converti il testo in colonne rende il tutto molto complicato e non sempre il risultato finale è garantito
Soluzione 1 Visidata
Utilizzando Visidata e le espressioni regolari, esempio di regex si ricavano le nuove colonne in pochi istanti.
Basta aprire il file, spostarsi sulla colonna da splittare pigiare i tasti shift + . in modo da ottenere il comando  : ed inserire la stringa regex  [a-z]\) e pigare invio

Come per magia in pochi istanti la nostra colonna, e il suo contenuto, viene suddivisa in N colonne
In questo caso Visidata ho usato come separatore per le colonne la regola [a-z]\), ovvero, ho usato i simboli dalla a alla z che sono seguiti dal simbolo )

Domanda: Se non so usare Visidata e le regex, c'è un altra soluzione? Risposta: Impara ad utilizzarli, ti rendono la vita più semplice… 😊
Soluzione 2 EmEditor
Per chi è poco pratico di Visidata e regex può usare EmEditor un ottimo strumento per manipolare file csv e non solo.
Apriamo il file con EmEditor, il contenuto della nostra colonna è un po’ sporco, l’elenco puntato non sempre è scritto tutto nello stesso modo, troviamo:
- a) oppure a )
 - b) oppure b )
 - c) oppure c )
 - d) oppure d )
 - e) oppure e )
 - f) oppure f )
 - g) oppure g )
 

Come prima cosa dobbiamo sostititure questi elenchi con un simbolo univoco

Con una semplice operazione batch di cerca e sosttituisci sostituiamo tutti i simboli degli elenchi con il simbolo + (o altro simbolo)

Adesso basta selezionare la colonna che si vuole suddividere e pigiare il tasto destro del mouse e selezionre Dividi colonne

Si aprirà un popup che permette di selezionare diverse opzioni e il separatore da utilizzare

Adesso non resta che pigiare invio e anche EmEditor aggiungerà le varie colonne 😊

Ps: Anche in EmEditor si possono usare le regex, ma non sono riuscito ad usarle per definire il separatore 😊