dido_csv: Génère les lignes d'entête du CSV augmenté

View source: R/dido-csv.R

dido_csvR Documentation

Génère les lignes d'entête du CSV augmenté

Description

Génère un dataframe avec les lignes d'entêtes du CSV augmenté comme premières lignes.

Usage

dido_csv(
  data,
  params = list(),
  locale = readr::default_locale(),
  cog_year = format(Sys.time(), "%Y")
)

Arguments

data

le dataframe à augmenter

params

une liste nommée décrivant les caractéristiques des colonnes :

list(
  COL1 = list(description = "une description"),
  COL2 = list(unit = "MWh")
)

Les caractéristiques disponibles sont :

  • name: le nom de la colonne

  • description: la description de la colonne

  • type: nombre, entier, texte, ...

  • unit: l'unité de la colonne

Le nom de la colonne peut être une expression rationnelle :

list(
  COL     = list(description = "une description"),
  `COL.*` = list(unit = "MWh")
)

La première colonne correspondante est utilisée, mettez toujours vos expressions rationnelles à la fin.

La valeur du champ description est évaluée par glue::glue avec un paramètre name qui correspond au nom de la variable du dataframe d'origine.

list(
  COL     = list(description = "une description"),
  `COL.*` = list(
    unit = "MWh",
    description = "une description {string::str_extract(name, '\\d{4}')}"
  )
)
locale

la locale à utiliser. Le seul élément à configurer à ce niveau est le séparateur décimal. Par défaut c'est le point (.). Pour sélectionner la virgule vous pouvez utiliser :

locale = locale(decimal_mark = ",")
cog_year

le millésime du COG utilisé si besoin. Par défaut prend l'année en cours

Details

Cette fonction essaye de deviner le type des colonnes pour leur donner un type DiDo de base :

type R type en sortie
double nombre
integer entier
date jour
logical booleen
tous les autres texte

** il est fortement déconseillé d'utiliser le type DiDo nombre. Utilisez plutôt un nombre avec précision comme par exemple nombre(2)**

Certains noms de variable sont connus par didoscalim qui génère automatiquement le type et la description. La liste complète de ces variables et des types/descriptions associés est :

nom de la variable type description
REGION cog_region_AAAA Code de la région
DEPARTEMENT cog_departement_AAAA Code du département
COMMUNE cog_commune_AAAA Code de la commune
EPCI cog_epci_AAAA Code de l'EPCI
IRIS cog_iris_AAAA Code de l'IRIS
ANNEE n/a Millésimes des données
MOIS n/a mois des données

L'année AAAA est par défaut l'année courante, vous pouvez la modifier en passant le paramètre cog_year

Value

un dataframe avec les 4 lignes de description du csv augmenté

See Also

En complément, vous pouvez lire : la vignette dédiée à la génération des fichiers augmentés

Et la documentation de l'API :

Other csv: dido_read_delim(), dido_write_csv()

Examples

data <- data.frame(
  OPERATEUR = c("nom1", "nom2"),
  COMMUNE = c("29000", "35000"),
  CONSO = c(1, 2)
)
params <- list(
  OPERATEUR = list(description = "L'opérateur"),
  CONSO = list(name = "CONSOMMATION", description = "La consommation", unit = "Mwh")
)
dido_csv(data, params = params)

data <- data.frame(
  DONNEES_2021 = c("1,4", "1,5"),
  DONNEES_2022 = c("1,3", "1,8")
)
params <- list(
  `DONNEES_.*` = list(
    description = 'description pour {stringr::str_extract(name, "\\\\d{4}")}'
  )
)
dido_csv(data, params = params, locale = locale(decimal_mark = ","))

MTES-MCT/didoscalim documentation built on June 14, 2025, 12:21 a.m.