Totem2XML
Script Python permettant de convertir une liste de fichiers de budget au format Totem XML, en fichiers CSV conformes au schéma national du SCDL pour les données budgétaires.
Utilisation:
> python run.py file1.xml [file2.xml file2.xml ... filen.xml]
Les fichiers générés sont localisés au même endroit que chaque fichier XML et aura le même nom.
Ainsi, ./mon/fichier1.xml
sera converti en ./mon/fichier1.csv
.
A noter
Ce script s'appuie sur les plans de compte diffusés sur http://odm-budgetaire.org/composants/normes/.
Il n'utilise pas de XSL pour convertir les fichiers, mais converti le XML en dictionaire Python pour traiter les informations.
Il réalise la même opération que l'outil "DataClic" proposé par OpenDataFrance: https://dataclic.fr/budget. Les calculs sont basés sur le script https://gitlab.com/datafin/totem/-/blob/master/totem2csv/xsl/totem2xmlcsv.xsl. Il se limite cependant à la conversion des lignes de budget et ne réalise pars l'anonymisation du fichier Totem XML.
Modules utilisés
Ce script fonctionne avec Python 3. Il a été testé avec Python 3.9.
Les principaux modules utilisés sont:
Installation
Récupérer le dépôt Git.
git clone https://gitea.datagrandest.net/guillaume_ryckelynck/totem2csv.git
Créer un environnement virtuel et installer les modules (ici sous Windows).
cd totem2csv
python -m venv venv
.\venv\Scripts\activate # 'source ./venv/bin/activate' sur linux
python -m pip install -r requirements.txt
Lancer le script.
python run.py monfichier.xml
Ressoures
- Schéma SCDL des données budgétaires: https://schema.data.gouv.fr/scdl/budget/
- Outil national de conversion des fichiers Totem en CSV "DataClic": https://dataclic.fr/budget
- Outil national de validation des données budgétaires au format CSV "Validata": https://validata.fr/table-schema?schema_name=schema-datagouvfr.scdl%2Fbudget&schema_ref=
- Code source de l'application nationale "DataClic" pour le budget: https://gitlab.com/datafin/totem
- Code source de l'application nationale "Validata": https://git.opendatafrance.net/validata
- Liste des plans de compte au format XML: http://odm-budgetaire.org/composants/normes/