57 lines
2.3 KiB
Markdown
57 lines
2.3 KiB
Markdown
# 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:
|
|
|
|
* https://github.com/martinblech/xmltodict
|
|
* https://github.com/jmespath/jmespath.py
|
|
|
|
# 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/ |