InseeFrLab / DoReMIFaSol

Téléchargement des données sur le site de l'Insee
https://InseeFrLab.github.io/DoReMIFaSol/
MIT License
29 stars 11 forks source link

Intégration des indicateurs conjoncturels d'activité #66

Open linogaliana opened 3 years ago

linogaliana commented 3 years ago

Sur insee.fr on peut trouver toute une série d'indicateurs conjoncturels d'activités (ICA)

L'URL est assez bien structuré et permet donc de récupérer facilement ces données. Par exemple, au hasard, pour récupérer la série 010539343 (celle-ci). L'URL est le suivant:

https://www.insee.fr/fr/statistiques/serie/telecharger/csv/010539343?ordre=antechronologique&transposition=donneescolonne&periodeDebut=1&anneeDebut=1999&periodeFin=6&anneeFin=2021

On peut donc identifier la structure suivante:

https://www.insee.fr/fr/statistiques/serie/telecharger/csv/{IDENTIFIANT}?ordre=antechronologique&transposition=donneescolonne&periodeDebut=1&anneeDebut={ANNEE_DEBUT}&periodeFin=6&anneeFin={ANNEE_FIN}

qui permet de requêter facilement plusieurs séries avec une fonction aux arguments bien faits.

Dans pynsee, tous les éléments sont en place pour récupérer ces données, en modularisant le code ci-dessous. Je pense que c'est pareil pour doremifasol

import os
import requests
from pynsee.download import download_pb, unzip_pb

download_pb("https://www.insee.fr/fr/statistiques/serie/telecharger/csv/010539344?ordre=antechronologique&transposition=donneescolonne&periodeDebut=1&anneeDebut=1999&periodeFin=6&anneeFin=2021",fname = "data.zip")

unzip_pb("data.zip", "ica", desc="Extracting")

os.listdir()
os.listdir("./ica")

J'ai donc deux questions:

py-b commented 3 years ago

Salut @linogaliana

Je me demande si ce n'est pas géré par le package insee d'Hadrien.

Si on veut intégrer ça à doremifasol, ma première idée serait d'ajouter une entrée dans le json avec le motif de l'url de téléchargement et un champ supplémentaire contenant les paramètres (années).

Ensuite, il faudra donner la possibilité à l'utilisateur de passer ces paramètres en entrée (via une liste par exemple). Ceci pourrait se faire par l'ajout d'un nouvel argument à telechargerFichier.