Estrarre dati da dati.istat.it ...

891 views
Skip to first unread message

Guglielmo Celata

unread,
Jul 20, 2017, 1:58:51 PM7/20/17
to spaghett...@googlegroups.com
Forma breve tipo Twitter: 
Aiuto! L'export CSV nel Datawarehouse di dati.istat.it non funziona (le email non arrivano). 
Excel funziona ma è un @°#$ %( £=)(.

In formato rant tecnologico/lettura estiva:
"Delle perduranti afflizioni che Excel infligge al libero movimento degli Open Data."

Il portale di business intelligence ISTAT permette di tagliare a fette i dati e riproiettarli secondo le nostre esigenze. E' un pezzo di software 'importato' da OECD e se si tratta di tagliare, proiettare e visualizzare i dati ISTAT sul web fa il suo porco dovere.

E' quando occorre esportare i dati che sono dolori.
Tra i formati proposti ci sono: PC-Axis e SDMX, CSV, Excel.

Il primo formato PC-Axis, è testuale, usato in un programma di scambio statistico ideato in Svezia, è una specie di CSV, dice l'articolo linkato, che indica anche un modo per fare un parser rapido, c'è poi un app in Node che converte da PX a CSV. Ma c'è che io sono pigro e se c'è il CSV vorrei il CSV, anche perché l'export ci mette una vita (minuti) per tirar fuori una tabella di 8200x3 numeri. Poi se va male c'è Excel.

Il secondo formato SDMX è IL FORMATO, ci sono anche i Web Service, per l'integrazione delle applicazioni, super-mega-fichissimo. Io per ora non ho tempo né voglia di studiare, scrivere o trovare un'integrazione. Lo so sono molto pigro, sono fatto male. Inoltre ODIO l'XML e diffido di chiunque porti esempi in C#, VB .NET, PHP e Java, mi fa pensare a Google Code o Source Forge, polverosi magazzini abbandonati lungo vecchie strade sterrate, ma sono io, pigro, snob, , poi c'è il CSV, e comunque se va male c'è Excel.

[Poi magari un'occhiata a PandaSDMX per importare dati da web service SDMX direttamente in Pandas la dò, che mi risolve la vita.]

La procedura di export di un file CSV mi chiede la mail e mi dice "Stai sereno, che quando il CSV sarà pronto, ti arriverà una mail da ISTAT".

... Forse non diceva proprio così, ma il senso, e soprattutto il risultato finale è lo stesso. Mail da ISTAT non arrivano, né in Inbox, né in Spam.

Vabbé, è andata male, però c'è Excel. 
Dai che c'è Excel! 
Dai dai dai dai... che la chiudiamo qui e ce ne andiamo tutti a casa (cit.).

Il file .xls scaricato lo potrebbe aprire chiunque, con il suo Windows XP, 7, Vista o 10. Ma appunto chiunque può, io con le librerie python xlrd o openpyxl, usate da Pandas, no. Perché?

Perché il file è un .xls, ma in realtà è in formato Microsoft Excel 2003 XML (.xml). Che è una roba strana che Microsoft ha adottato tra il formato Microsoft Excel 1997-2003 (.xls, binario) e il formato Microsoft Excel 2007-2013 (.xlsx, xml compressi).

Le librerie python supportano i formati .xlsx e .xls, che sono i più comuni, ma non il 2003 .xml, che evidentemente, a parte il Datawarehouse di Istat, non è molto usato, e io sono troppo pigro e forse un po' cinico, per partecipare con entusiasmo al movimento OpenSource e scrivere proprio quel pezzo che manca. Se ci sono volontari, fatemi sapere.

OpenOffice, LibreOffice? 
L'ultima versione di LibreOffice, la 5.3 lo apre, la 5.0 no.
Lo apre sì, ma con estrema fatica; ~1 minuto, su un MacBookPro i5 con 16GB di RAM, che potrebbe essere un tempo sufficiente per fare il rendering 3D con AutoCAD, del nuovo stadio della Roma.

Quindi? Di che mi lamento?
1. Essendo fondamentalmente stupido, ci ho messo più di due ore a capire tutto questo.
2. Se devo lavorare su 50 'proiezioni' e ho messo qualcuno a fare estrazioni dal Datawarehouse, quel qualcuno, quando ha trovato l'export in XLS, ha pensato: è fatta. Ora quei 50 files, invece di darli in pasto a una procedura ETL automatica (le librerie), li devo processare a mano, aprire con LibreOffice, salvarli in CSV (o in un XLS più leggibile dalle librerie). Visti i tempi di apertura di un singolo file, non mi pare una soluzione percorribile, scalabile o ripetibile nel tempo.
3. Possibile che non ci sia nessuno che avverta ISTAT che le email dell'export CSV non funzionano? E' un problema noto? E' difficile inviare email?
4. La soluzione breve non c'è. Tocca studiare i web service e integrarli in una procedura ETL con Pandas. Così magari si evita qualsiasi lavoro "manuale".
5. C'è qualcuno che ha già sbattuto la testa su tutto questo e conosce un modo sano per uscirne? 

Guglielmo

Vincenzo Patruno

unread,
Jul 20, 2017, 4:04:49 PM7/20/17
to spaghett...@googlegroups.com
A Istat glielo dico io

Nel frattempo dai una occhiata qui

Puoi prendere tutti i dati pubblicati da dati.istat.it
E' una cosa che ho fatto 7 anni fa. Forse era troppo prematuro. E ora sinceramente sto pensando ad altro.

A ogni modo la cosa più interessante a mio avviso è la possibilità di avere output jsonstat http://json-stat.org/ (Sono stato anche tra quelli che ha lanciato a suo tempo l'iniziativa)

Svariati anni orsono avevo anche scritto un esempio di query builder che puoi trovare qui http://www.vincenzopatruno.org/json-stat/ 
Se ci giocherelli un pò puoi arrivare a generare ad esempio una query string tipo questa http://apistat.istat.it/?q=getdatajson&dataset=DCIS_POPSTRRES1&dim=1,1,0,0,0&lang=1

E' un dataset jsonstat che puoi navigare così


Lo so che alla fine di tutto a te serve avere la possibilità di scaricare i dati in csv. Quindi vale sempre quanto ti ho scritto nel primo rigo
Vinc





--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopendata+unsubscribe@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/spaghettiopendata/578e09b9-3739-4a0e-b4db-6847a943f774%40gmail.com.
Per altre opzioni visita https://groups.google.com/d/optout.



--
Vincenzo Patruno

Twitter: @vincpatruno

“ If you want a track team to win the high jump you find one person who can jump seven feet, not seven people who can jump one foot. ”.

Guglielmo Celata

unread,
Jul 20, 2017, 7:12:24 PM7/20/17
to spaghett...@googlegroups.com
Grazie!

Ho visto http://apistat.istat.it, e sono riuscito a fare delle query, per esempio, http://apistat.istat.it/?q=getdatajson&dataset=DCIS_SERVSOCEDU1&dim=0,9,1,17,1,2148
da tutti il numero di asili nido attivi, settore privato, per il 2013.

Sarebbe ottimo (JSON > CSV), ma ho notato che nella risposta mancano i codici ISTAT dei territori, quindi non posso riconciliare con l'anagrafica comuni che abbiamo.

Nel foglio excel, se selezionato tra le opzioni di visualizzazione, l'export include i codici (058091: Roma).

Guglielmo

Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopend...@googlegroups.com.

Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.

Vincenzo Patruno

unread,
Jul 21, 2017, 10:17:45 AM7/21/17
to spaghett...@googlegroups.com

Guglielmo

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopendata+unsubscribe@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.

Guglielmo Celata

unread,
Jul 24, 2017, 3:58:40 AM7/24/17
to spaghett...@googlegroups.com
Bellissimo il nome dell'endpoint getdatajsonnuts. Funziona, ci fa risparmiare un sacco di tempo e sbattimento manuale, grazie davvero. Quando passi a trovarci qui all'Esquilino, hai una colazione pagata.

Guglielmo

Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopend...@googlegroups.com.

Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.

andy

unread,
Jul 24, 2017, 4:01:15 AM7/24/17
to Spaghetti Open Data
Caro Vinc,

2017-07-21 16:17 GMT+02:00 Vincenzo Patruno <patruno...@gmail.com>:

ma una pagina wiki, un blog post, un readme?
Senza fretta, ma un punto di ingresso pubblico con poche righe di readme sarebbe un tesoretto.

Grazie mille 


--
___________________

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

Maurizio Napolitano

unread,
Jul 24, 2017, 5:05:54 AM7/24/17
to Spaghetti Open Data
Secondo me questo progetto di Vincenzo e il discorso json-stat dovrebbe diventare un asset importante di ISTAT

Non sarebbe male cominciare a pubblicizzarlo il più possibile 

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopendata+unsubscribe@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.

Vincenzo Patruno

unread,
Jul 25, 2017, 4:07:22 AM7/25/17
to spaghett...@googlegroups.com
@andy hai ragione. A breve preparo un post sulla cosa. Al momento ci sono vari utenti che utilizzano apistat e con cui sono in contatto. Ma un post per tutti sarebbe sicuramente utile. Di sicuro l'attenzione per le api che c'è al momento è molto diversa da quella che c'era 7 anni fa. Anche in questa lista.

@napo Istat ha i suoi obiettivi e strategie e jsonstat non è mai stata e non diventerà mai una priorita'. Industrializzare jsonstat richiede infatti comunque un qualche sforzo e anche una scelta strategica. Altri istituti e organizzazioni  nel mondo lo hanno fatto ma fare qualcosa qui è sempre più complicato che altrove. Il risultato e che nonostante Istat sia stato il primo istituto nel mondo a mettere a punto e rilasciare api json e jsonstat è rimasta ferma al punto di partenza. Ne ho parlato svariate volte in istituto ma la cosa non è mai riuscita a decollare. Parlarne e pubblicizzarlo potrebbe comunque aiutare. Il contesto è infatti sicuramente cambiato rispetto al passato.


@guglielmo ti/vi vengo a trovare per il caffe. Appena possibile.


Fabio Castelletti

unread,
Jul 25, 2017, 6:52:56 AM7/25/17
to Spaghetti Open Data
Grazie per questa bella discussione su Istat e JSON-stat ;)

Anche io, un po' di tempo fa, sono stato fulminato da JSON-stat & Vincenzo, che ancora ringrazio.
Da cinque anni ad oggi, anche per una semplice visualizzazione "lato browser" di dati numerici, non credo ci sia uno standard più efficace.

Semplice, sufficientemente espressivo, non ridondante, senza ambizioni "linked" ma con buone potenzialità rispetto al "Merge" fra dataset.
Sulla funzione join() c'è un piccolo esempio di Xavier Badosa, con tutti i riferimenti:
http://bl.ocks.org/badosa/5c788a54b4145d2b4c04dc718112af5d

Fabio

P.S. Eurostat Query Builder: http://ec.europa.eu/eurostat/web/json-and-unicode-web-services/getting-started/query-builder

Vincenzo Patruno

unread,
Jul 25, 2017, 10:17:31 AM7/25/17
to spaghett...@googlegroups.com
Xavier Badosa è un grande. Ovviamente lo conosco molto bene e ricordo ancora quando all'OCSE di Parigi stavamo sognando su come sarebbe dovuta essere l'iniziativa jsonstat che avremmo lanciato di li a breve.
Jsonstat alla fine è stata una grande azione di civic hacking. Sia da parte sua che da parte mia. (@matteobrunati stay tunned)

Per le visualizzazioni lato browser verissimo!!! Con pochissime righe di codice è possibile fare cose cosi


E se apistat supportasse CORS le righe di codice sarebbero ancora di meno. :-)

Vi dico infine che anche a me è piaciuta e sta piacendo questa discussione. Ho dedicato in passato un pezzo del mio tempo (e dei miei neuroni) a questa cosa e scoprire che dopo quasi un decennio suscita interesse lo ritengo al momento quantomeno abbastanza strano...

In ogni caso grazie a tutti



--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopendata+unsubscribe@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.
Reply all
Reply to author
Forward
0 new messages