Actuellement, pour chaque source, decp-rama (code source) :
- télécharge l'ensemble des fichiers
- traite l'ensemble des fichiers
- fusionne les données de la source en un seul fichier (ex :
json/data.gouv.fr_pes.json)
| { | |
| "id": "2010345211201", | |
| "acheteur": { | |
| "id": "21350238800019", | |
| "nom": "Ville de Rennes" | |
| }, | |
| "nature": "Accord-cadre", | |
| "objet": "Entretien des jardins municipaux", | |
| "codeCPV": "77313000", | |
| "procedure": "Marché négocié sans publicité ni mise en concurrence préalable", |
| term | definition | |
|---|---|---|
| AAA | Acte Auto-Agressif | |
| AAB | Atteinte Aux Biens | |
| AAP | Adjoint Administratif Principal | |
| AC | Avoirs Criminels | |
| ACCIMADA | ACCIdent de transport de MAtières DAngereuses | |
| ACCITRAPU | ACCIdent de TRAnsport PUblic de personnes | |
| ACCR | Accident Corporel de la Circulation Routière | |
| ACTIMAF | ACTIvités MAFieuses | |
| ADSL | Application Demande et Suivi des Loiciels |
| #!/bin/bash | |
| # Vous devez installer jq https://stedolan.github.io/jq/ | |
| # decp.json : https://www.data.gouv.fr/fr/datasets/5cd57bf68b4c4179299eb0e9/#resource-16962018-5c31-4296-9454-5998585496d2 | |
| echo "nom,id,typeId" > delegataires-service-public.csv | |
| jq '[.marches[] | select(.nature == "Délégation de service public") | .concessionnaires[] ] | unique_by(.id) | (map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $rows[] | @csv ' json/decp.json | sort -u | sed 's/[\\"]//g' >> delegataires-service-public.csv |
Actuellement, pour chaque source, decp-rama (code source) :
json/data.gouv.fr_pes.json)| id,uid,acheteur.id,acheteur.nom,nature,objet,codeCPV,procedure,lieuExecution.code,lieuExecution.typeCode,lieuExecution.nom,dureeMois,dateNotification,datePublicationDonnees,montant,formePrix,titulaire.id,titulaire.typeIdentifiant,titulaire.denominationSociale,donneesActuelles | |
| "201900056462300","23350001600040201900056462300","23350001600040",Conseil régional de Bretagne,Marché,"Impression d'affiches, de flyer et de dépliants pour l'évènement Urban Trail","79311000",Procédure adaptée,"35238",Code commune,Rennes,3,2019-04-27,2019-04-29,21800.10,Ferme,"81223113200034",SIRET,Colin Maudry,,0 | |
| "201900056462300","23350001600040201900056462300","23350001600040",Conseil régional de Bretagne,Marché,"Impression d'affiches, de flyer et de dépliants pour l'évènement Urban Trail","79311000",Procédure adaptée,"35238",Code commune,Rennes,3,2019-04-27,2019-04-29,21800.10,Ferme,"82379887100013",SIRET,Datactivist,,0 | |
| "201900056462300","23350001600040201900056462300","23350001600040",Conseil régional de Bretagne,Marché,"Impression |
| import polars as pl | |
| from pathlib import Path | |
| df = pl.read_parquet("https://www.data.gouv.fr/fr/datasets/r/11cea8e8-df3e-4ed1-932b-781e2635e432") | |
| df = df.select("uid", "titulaire_nom", "titulaire_id", "titulaire_categorie", | |
| "titulaire_departement_code", "acheteur_departement_code", "titulaire_distance", | |
| "codeCPV", "type", "montant").filter((pl.col("type") == 'Travaux') & (pl.col("montant") >= 75000)) | |
| df2 = df.select("uid", "titulaire_id").group_by("titulaire_id").len(name="nb_marches").filter(pl.col("nb_marches") >= 3) | |
| df = df.join(df2, on="titulaire_id", how="inner") |