Come sistemare un CSV per farlo leggere ad un GIS
Come sistemare un file CSV per farlo leggere da un Software GIS.
A cura di
Totò Fiandaca
| issue
#163
| guida/e
Andrea Borruso
Caso d’uso
A partire da un file CSV cosi strutturato:
Layer,Text
ID_Punto,"127"
Coordinate,"1752571.62;5143346.69"
Quota,"1014.646"
ID_Punto,"126"
Coordinate,"1752553.60;5143363.05"
Quota,"1016.618"
ottenere un fil CSV facilmente leggibile da un Software GIS:
ID_Punto | Coordinate | Quota |
---|---|---|
127 | 1752571.62;5143346.69 | 1014.646 |
126 | 1752553.60;5143363.05 | 1016.618 |
Soluzione
<input.csv tail -n +2 | sed -r 's/ID_/\nID_/g;s/^(.+),(.+)$/\1 \2/;s/"//g' | mlr --x2c cat | vd -f csv
Sfrutto Miller che ha come formato di input e output l’XTAB, che è fatto così
ID_Punto 127
Coordinate 1752571.62;5143346.69
Quota 1014.646
ID_Punto 126
Coordinate 1752553.60;5143363.05
Quota 1016.618
Con il comando di sopra lo porto in XTAB e poi lo converto in CSV.
dove:
tail -n +2 : toglie intestazione;
sed -r 's/ID_/\nID_/g;s/^(.+),(.+)$/\1 \2/;s/"//g' : trova e sostituisci
mlr --x2c cat : converte da XTAB a CSV
vd -f csv : visualizzo con VisiData
Riferimenti utili
Ultima modifica 05/11/2020: add ricetta sistemare un CSV per un GIS (70977f4)