Instantly share code, notes, and snippets.

Embed
What would you like to do?
Scaricare i dati di un comune da OpenCup
#!/bin/bash
### requisiti ###
# csvkit
### requisiti ###
set -x
# scegliere e impostare la cartella di output
cartella="/var/opencup"
rm "$cartella"/*.zip
# scarico file di interesse da OpenCup (queste sono le isole)
wget -O "$cartella"/dati.zip http://www.opencup.gov.it/documents/21195/22370/OpenData+Area+Isole+CSV/445d0ab4-e88e-436f-9fb4-8f50459ee5a5
# rinomino l'output dell'unzip in dati.csv (occhio ha senso soltanto se nel file zip c'è un solo file)
for z in *.zip; do
unzip "$z";
mv "$(unzip -Z1 $z)" "${z%%.*}.csv";
done
# imposto la PIVA CF dell'ente da usare poi come filtro (questo è Palermo)
PIVACF="80016350821"
# estraggo intestazione
<"$cartella"/dati.csv head -n 1 >"$cartella"/"$PIVACF"_tmp.csv
# estraggo solo i dati della PA con quella PIVA e li aggiungo al file con l'intestazione
<"$cartella"/dati.csv grep -a ''"$PIVACF"'' >>"$cartella"/"$PIVACF"_tmp.csv
# creo un output CSV in UTF-8 e con ',' come separatore
<"$cartella"/"$PIVACF"_tmp.csv csvformat -d "|" -e "ISO-8859-15" >"$cartella"/"$PIVACF".csv
# rimuovo i file inutili dalla cartella
rm "$cartella"/"$PIVACF"_tmp.csv
rm "$cartella"/dati.csv
rm "$cartella"/*.zip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment