ondata / guida-api-istat

Guida all'uso delle API REST di ISTAT
https://ondata.github.io/guida-api-istat
Creative Commons Attribution Share Alike 4.0 International
28 stars 4 forks source link

Imprese #8

Closed paolovolterra closed 3 years ago

paolovolterra commented 3 years ago

Ciao se invece volessi estrarre le informazioni sulle imprese, ad es per regione ATECO, natura giuridica o casse di addetti, come dovrei fare?

aborruso commented 3 years ago

Ciao @paolovolterra che tipo di query hai fatto sulle API di ISTAT?

paolovolterra commented 3 years ago

premetto che non sono un tecnico ma sto cercando di imparare a strutturare analisi in python il mio obiettivo è un dataframe del numero di imprese per territorio AND ATECO AND natura giuridica AND classe di addetti; in json senza utilizzare l'interfaccia http://dati.istat.it/Index.aspx?DataSetCode=DICA_ASIAUE1P il dataset dovrebbe quindi essere DICA_ASIAUE1P

sono partito dalle spiegazioni che dai qui https://ondata.github.io/guida-api-istat/ modifico l'URL http://sdmx.istat.it/SDMXWS/rest/dataflow/IT1 in http://sdmx.istat.it/SDMXWS/rest/dataflow/DICA_ASIAUE1P la risposta è "Could not find requested structures"

ok: provo con http://sdmx.istat.it/SDMXWS/ niente

questo fa invece riferimento ad una delle 450 possibilità (DCIS_INCIDMORFER_COM) ma non a quella che voglio costruire: curl -kL "http://sdmx.istat.it/SDMXWS/rest/datastructure/IT1/DCIS_INCIDMORFER_COM/" >./DCIS_INCIDMORFER_COM.xml

idem curl -kL "http://sdmx.istat.it/SDMXWS/rest/data/41_983" >./41_983.xml il 41_983 mi indirizza su un'analisi specifica

su github o www non trovo altre info...

paolovolterra commented 3 years ago

dimenticavo: nella pagina Istat c'è la possibilità di scaricare il file DICA_ASIAUE1P - Imprese e addetti - intero ds.csv.zip 199 mega che scompattati diventano ... 5.5giga

in pandas.read_csv('C:/Users/paolo/Downloads/DICA_ASIAUE1P - Imprese e addetti - intero ds.csv', nrows=1).columns out Index(['D1|"Territorio"|"D2"|"Tipo dato"|"D3"|"Ateco 2007"|"D4"|"Classe di addetti"|"D5"|"Forma giuridica"|"D6"|"Impresa con dipendenti"|"D7"|"Carattere artigiano"|"D8"|"Seleziona periodo"|"Value"|"Flag Codes"|"Flags"'], dtype='object')

volevo però riuscirci con una query rest e magari un link machine2machine

aborruso commented 3 years ago

Ciao @paolovolterra, subito dei commenti su delle cose di base. E riparto dalla guida. Bisogna fare attenzione a tutti i punti.

sono partito dalle spiegazioni che dai qui https://ondata.github.io/guida-api-istat/ modifico l'URL http://sdmx.istat.it/SDMXWS/rest/dataflow/IT1 in http://sdmx.istat.it/SDMXWS/rest/dataflow/DICA_ASIAUE1P la risposta è "Could not find requested structures"

Nella guida è precisato che l'URL http://sdmx.istat.it/SDMXWS/rest/dataflow/IT1 è quello per accedere alla lista dei dataflow. Non trovi nella guida riferimenti a un URL con la struttura come questa che hai costruito tu: http://sdmx.istat.it/SDMXWS/rest/dataflow/DICA_ASIAUE1P

Procedi per passi. Scarica la lista dei dataflow. Tra questi c'è quello che hai indicato essere di tuo interesse:

      <structure:Dataflow id="183_277" urn="urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=IT1:183_277(1.1)" agencyID="IT1" version="1.1" isFinal="false">
        <common:Name xml:lang="it">Imprese e addetti</common:Name>
        <common:Name xml:lang="en">Enterprises - persons employed and self-employed</common:Name>
        <structure:Structure>
          <Ref id="DICA_ASIAUE1P" version="1.1" agencyID="IT1" package="datastructure" class="DataStructure" />
        </structure:Structure>
      </structure:Dataflow>

Come leggi nella guida, per accedere ai dati, devi usare l'id del dataflow, che qui è 183_277. E come sempre sottolineato nella guida, occhio a scaricarlo in blocco, perché può essere una risorsa molto molto grande.

Quindi prova a impostare dei filtri. Prima di farlo devi avere il quadro dello schema dati, che ricavi in questo modo. Così ricaverai le cosiddette "dimensioni". Nella guida è spiegato come ricavare il significato e i valori possibili.

Fatto questo potrai costruire la query di tuo interesse.

È una procedura ricca, ma in qualche modo necessaria, vista la ricchezza a monte. Una volta che ci si prende la mano, è quasi una query rest come tante altre.

paolovolterra commented 3 years ago

intanto grazie per avermi risposto vediamo se ho capito:

  1. nel dataflow ci sono TUTTI i set disponibili per gli utenti, compreso quello che potrebbe servire a me
  2. non avevo immaginato che l'ID 183_277 potesse contenere imprese per numero addetti, ma ANCHE territorio, ATECO, ecc come nell'SDMX o nel csv che si può direttamente esportare dalla pagina web http://dati.istat.it/Index.aspx?DataSetCode=DICA_ASIAUE1P
  3. da quest'ultima pagina si estrae l'anno 2018; nel csv ci sono tutti gli anni tranne il 2018; presumo che anche con una query rest non riesca ad estrarre il 2018
  4. provo comunque a afre come dici e vediamo che succede ciao e grazie di nuovo p
aborruso commented 3 years ago

@paolovolterra sono passati 25 giorni, immagino avrai risolto.

La chiudo