Re: [opendatasicilia] Uno script per scaricare i dati da soldipubblici

Posted by Andrea Borruso on
URL: http://opendatasicilia.195.s1.nabble.com/opendatasicilia-Uno-script-per-scaricare-i-dati-da-soldipubblici-tp5657p5676.html

Caro Pablo,
leggendoti ho pensato subito potesse essere un lavoro utile ad altri tuoi colleghi.

Per questa ragione penso possa essere utile un blog post a tema. Io al momento non ho grande tempo a disposizione, ma soprattutto non sono portatore di interesse diretto e non ho messo in piedi un vero caso d'uso. Per questo ti ho fatto la proposta.
Ma sono sono disponibile, se ritieni utile, a fare una supervisione.

Lo pubblicherei sul blog di ODS e/o dove tu preferirai.

Buona giornata a tutti

______
Scusami per la brevità, ti sto scrivendo dal cellulare.

website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E EPSG:4326

Il lun 23 apr 2018, 23:59 pablopers <[hidden email]> ha scritto:
Buonasera Andrea, 
il filtro funziona perfettamente, e ora nei file creati (csv e json) ci sono solo i dati i cui campi "importo" sono valorizzati.
Lo script da te creato è stato posizionato su una cartella di un server di proprietà dell'Ente, liberamente accessibile dall'esterno, ai seguenti link: 

I seguenti link sono stati inseriti come file di un dataset  sul portale ckan dati aperti della Città Metropolitana di Napoli all'indirizzo: http://dati.cittametropolitana.na.it 
Il portale degli open data della CMNA pur essendo federato con il portale dei dati aperti nazionale dati.gov.it è ancora in versione beta, in attesa cioè che ci sia una presentazione ufficiale (la politica vuole sempre la sua parte) e una nuova interfaccia che rispetti le indicazioni di Design Italia, con il nuovo logo etc etc.
Pertanto siate buoni :-) Il portale è decisamente spartano e  per nulla organizzato e referenziato, è frutto del lavoro di un piccolo ufficio, che ha fatto tutto da solo senza spendere nemmeno un centesimo con interventi di società esterne.
nasce da una passione cominciata sette mesi fa che è cresciuta giorno per giorno e non ha mai smesso di alimentarsi grazie alla comunità Open Data e in particolare a Voi di opendatasicilia, con i vostri spettacolari riusi siete stati e siete ancora un punto di riferimento importante per me e di sicuro per molti altri.

Segnalo infine che le anteprime del portale Ckan dei dati di cui sopra (anteprime che considero praticamente inutili, ma che costantemente mi vengono chieste) non sono attive, immagino ci sia il solito problema con il datastore, che spero di risolvere al più presto. 
I punti di forza e unici dello Script, da te creato, sono sostanzialmente: 
1) la semplicità intesa nel numero di righe da editare
2) la possibilità di usare server propri e non lasciare o far transitare dati di una PA su un cloud gratis
3) l'estrazione temporizzata con il comando nel file cron 
4) la doppia versione del file estratto (CSV e JSON)
5) il filtro sui record che possiedono solo importi valorizzati
e tante altre cose che probabilmente  a quest'ora mi sfuggono. 

Pertanto (ho cambiato idea), visto il fantastico risultato raggiunto se con la tua benedizione ritieni utile una mini guida sono a tua completa disposizione per fornire tutte le informazioni utili alla realizzazione, mi pare il minimo per tutto il lavoro che hai fatto. 

Grazie infinitamente
Pablo   



  

Il giorno sabato 21 aprile 2018 19:38:40 UTC+2, Andrea Borruso ha scritto:
Ciao Pablo,
per il filtro puoi usare il comodissimo csvgrep, che fa parte di csvkit.

Ad esempio il comando di sotto ottieni proprio quello che chiedi.

<./input.csv csvgrep -c "imp_uscite_att,importo_2013,importo_2014,importo_2015,importo_2016,importo_2017" -r "^$" -i >./output.csv

Con "-c" scegli le colonne su cui il filtro deve essere applicato, con "-r" imposti l'espressione regolare da usare come filtro (in questo caso tutte le celle vuote, con -i chiedi il filtro inverso, quindi qui tutti record in cui le colonne (almeno una) non sono vuote.

Saluti

Il sab 21 apr 2018, 19:27 pablopers <[hidden email]> ha scritto:
Dunque, non posso dire con certezza cosa sia realmente accaduto, ma come sempre prima di ogni "smanettamento" che si rispetti faccio il backup dei file a cui metto mano, e se mi trovo nei casini non sostituisco i file, ma li apro e li confronto; quando le cose si sono messe male e nemmeno le istruzioni cron già presenti funzionavano (su quel server gira un crm che usiamo per una sorta di triage ospedaliero all'ufficio URP)  ho confrontato i file e ci ho trovato solo qualche spazio qua e là, e qualche paragrafo vuoto di meno, magari non era quello ma alla fine ha funzionato. 

Il filtro a cui avevo pensato esclude a priori tutti quei record i cui campi "import_anno" (per gli anni precedenti) e il 2018 alla voce ""imp_uscite_att": non siano valorizzati.
nell'esempio che segue solo l'ultimo record (fabbricati ad uso scolastico di cui la CMNA ha competenza) è valorizzato
Grazie sempre e a presto
 
    "codice_siope": "1.05.01.11.001",
   
"descrizione_codice": "Imposta unica sui concorsi pronostici e sulle scommesse",
   
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
   
"idtable": "800000720-1.05.01.11.001",
   
"cod_ente": "800000720",

   
"anno": "2018",
   
"periodo": "3",

   
"codice_gestionale": "1.05.01.11.001",
   
"imp_uscite_att": null,
   
"data_di_fine_validita": "2017-03-31",

   
"importo_2013": null,
   
"importo_2014": null,
   
"importo_2015": null,
   
"importo_2016": null,

   
"importo_2017": null
 
},
 
{
   
"codice_siope": "4.02.01.04.001",
   
"descrizione_codice": "Rimborso finanziamenti a breve termine a imprese controllate",
   
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
   
"idtable": "800000720-4.02.01.04.001",
   
"cod_ente": "800000720",

   
"anno": "2018",
   
"periodo": "3",

   
"codice_gestionale": "4.02.01.04.001",
   
"imp_uscite_att": null,

   
"data_di_fine_validita": "3999-12-31",
   
"importo_2013": null,
   
"importo_2014": null,
   
"importo_2015": null,
   
"importo_2016": null,

   
"importo_2017": null
 
},
 
{
   
"codice_siope": "4.02.01.02.999",
   
"descrizione_codice": "Rimborso finanziamenti a breve termine a altre Amministrazioni Locali n.a.c.",
   
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
   
"idtable": "800000720-4.02.01.02.999",
   
"cod_ente": "800000720",

   
"anno": "2018",
   
"periodo": "3",

   
"codice_gestionale": "4.02.01.02.999",
   
"imp_uscite_att": null,

   
"data_di_fine_validita": "3999-12-31",
   
"importo_2013": null,
   
"importo_2014": null,
   
"importo_2015": null,
   
"importo_2016": null,

   
"importo_2017": null
 
},
 
{
   
"codice_siope": "2.02.01.09.003",

   
"descrizione_codice": "Fabbricati ad uso scolastico",

   
"descrizione_ente": "CITTA+METROPOLITANA+DI+NAPOLI",
   
"idtable": "800000720-2.02.01.09.003",
   
"cod_ente": "800000720",

   
"anno": "2018",
   
"periodo": "3",

   
"codice_gestionale": "2.02.01.09.003",
   
"imp_uscite_att": 2209691.35,

   
"data_di_fine_validita": "3999-12-31",
   
"importo_2013": null,
   
"importo_2014": null,
   
"importo_2015": null,
   
"importo_2016": null,
   
"importo_2017": 20283205.66

 
},

 

Il giorno sabato 21 aprile 2018 18:10:16 UTC+2, Andrea Borruso ha scritto:
Caro Pablo (e scusa per il "Paolo"),

2018-04-21 1:06 GMT+02:00 pablopers <[hidden email]>:
Buonasera e scusate l'ora, 
dunque Andrea sei un mito! La tenacia e la determinazione al netto della straordinaria conoscenza affiancata ad una velocità di elaborazione  della soluzione e della risposta è qualcosa che in vita mia non ho mai visto! il bello è che sembri divertirti quindi ho deciso; quando mio figlio avrà dubbi su chi vuole essere da grande senza mezzi termini gli dirò "sii Andrea Borruso!" :-)

ho perso il papà quando avevo 10 anni e non sono riuscito ad avere figli. In compenso sono uno zio felice e fortunato.
Questa esperienza di sentimenti, ricca di vuoti e pieni, e di esperienza, mi basta per essere certo che tuo figlio ha accanto a sé un gran bel modello a cui puntare.
 
chiacchiere a parte, tutto giusto! e tutto risolto..... Andrea si possono filtrare i dati in modo che appaiano solo quelli con un valore?

Sì. Mi fai un esempio del filtro da applicare?
 
Cosa era che alla fine non faceva funzionare il tutto sul tuo server?

Buona serata


--
___________________

Andrea Borruso
website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E, EPSG:4326
___________________

"cercare e saper riconoscere chi e cosa,
 in mezzo all’inferno, non è inferno, 
e farlo durare, e dargli spazio"

Italo Calvino

--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a [hidden email].
Per postare in questo gruppo, invia un'email a [hidden email].
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/1fc2a8dd-0b9b-4a54-8623-ae3bac67fbc5%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.
--

______
Scusami per la brevità, ti sto scrivendo dal cellulare.

website: https://medium.com/tantotanto
38° 7' 48" N, 13° 21' 9" E EPSG:4326

--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a [hidden email].
Per postare in questo gruppo, invia un'email a [hidden email].
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/306c0788-a8ac-4100-9541-9af4025a8f79%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.

--
Sito: http://opendatasicilia.it
Facebook: https://www.facebook.com/groups/opendatasicilia/
twitter: http://twitter.com/opendatasicilia
Gruppo Telegram: https://t.me/opendatasicilia
Slack: http://opendatasicilia.it/slack/
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "opendatasicilia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a [hidden email].
Per postare in questo gruppo, invia un'email a [hidden email].
Visita questo gruppo all'indirizzo https://groups.google.com/group/opendatasicilia.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/opendatasicilia/CAHEdGZMSrjiSeUqAiomsg-WZYRKaGKGA%3DVSYtQyPwWqZtFQmUQ%40mail.gmail.com.
Per altre opzioni visita https://groups.google.com/d/optout.