Created
June 2, 2019 08:16
-
-
Save aborruso/f678e308178899b0eabd3c61fb38e288 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -x | |
# crea variabile temporanea per memorizzare il nome della cartella | |
folder="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
# rimuovi dalla cartella ogni CSV | |
rm "$folder"/*.csv | |
# estrai dal file xlsx tutti i fogli come CSV | |
# vengono creati dei CSV con nome che inizia con tmp__ seguito dal nome del foglio | |
pyexcel transcode "$folder"/"37_Sicilia_Indicatori per singola provincia, anno e dominio.xlsx" "$folder"/tmp.csv | |
# per ogni FILE CSV creato fai pulizia e ristrutturazione con Miller | |
for i in "$folder"/*.csv; do | |
# crea una variabile per raccogliere il nome di ogni file file CSV, senza estensione | |
nomefile=$(echo "$i" | sed -r 's|^(.*/)(.+)(\.csv)$|\2|g') | |
# crea una variabile per creare un nome di output dei file senza il suffiso tmp__ e senza estensione | |
nome=$(echo "$i" | sed -r 's|^(.*\/)(tmp__)(.+)(__)(.+.csv)$|\3|g') | |
# fai la pulizia e ristrutturazione con Miller | |
mlr --csv clean-whitespace \ | |
then put -S 'if (${Unità di misura} == "") {$Indicatore = ${Indicatori del dominio}} else {$Indicatore = ""}' \ | |
then fill-down -f Indicatore \ | |
then filter -S '${Unità di misura} != ""' \ | |
then put -S 'for (k in $*) {$[k] = gsub($[k], "\.\.+"i, "");}' \ | |
then put -S 'for (k in $*) {$[k] = gsub($[k], "^-+$", "");}' \ | |
then reshape -r "^2" -o anno,valore \ | |
then reorder -f Indicatore \ | |
then put -S '$foglio="'"$nome"'"' \ | |
then filter '$valore>-999999' \ | |
then sort -f foglio,Indicatore -n anno,"N." "$folder"/"$nomefile".csv >"$folder"/"$nome".csv | |
done | |
# rimuovi tutti i CSV con nome con suffisso tmp__ | |
rm "$folder"/tmp_*.csv | |
# crea un unico file di insieme | |
mlr --csv cat "$folder"/*.csv >"$folder"/Sicilia_Indicatori_per_singola_provincia_anno_e_dominio.csv |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment