2.3 KiB
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/