Skip to content
Snippets Groups Projects
Commit 47f58253 authored by ronan.vignard's avatar ronan.vignard
Browse files

Correction du bug de non remplacement des caractères accentués + décomposition en plusieurs étapes

parent 51d155ff
Branches
No related tags found
8 merge requests!67Passage en version 0.1.6,!66Intégration de la fonction download_files_from_list(),!65Correction d'un bug + création des tests pour fix_encoding_variable(),!64Création des tests pour insert_into_table(),!63Ajout des tests pour import_and_merge_tables() + adaptation de create_dummy(),!62Tests pour check_structure_table() + évolution de create_dummy(),!61Ajout des tests pour import_xlsx() + correctif pour format_colnames() + divers,!60Ajout des tests pour import_xlsx() + correctif pour format_colnames()
#' Formate les noms des colonnes
#'
#' @description Cette fonction formate les noms des colonnes d'un dataframe en
#' remplaçant les caractères spéciaux par des chaînes vides, en mettant les noms
#' en minuscules et en ajoutant des underscores avant les majuscules
#' @description Cette fonction formate les noms des colonnes d'un dataframe en
#' remplaçant les caractères spéciaux par des chaînes vides, en mettant les noms
#' en minuscules et en ajoutant des underscores avant les majuscules
#' (sauf au début du nom).
#'
#' @param colnames Vecteur contenant les noms des colonnes à formater.
......@@ -23,8 +23,14 @@ format_colnames <- function(colnames) {
# Ajouter des underscores avant les majuscules (sauf au début du nom)
colnames <- gsub("([[:lower:]]|\\s)([[:upper:]])", "\\1_\\2", colnames)
# Remplacer les caractères spéciaux et mettre en minuscules
colnames <- gsub("[^[:alnum:]_]", "", tolower(colnames))
# Remplacer les accents par leurs équivalents sans accent
colnames <- iconv(colnames, from = "UTF-8", to = "ASCII//TRANSLIT")
# Remplacer les caractères spéciaux (hors underscores et alphanumériques)
colnames <- gsub("[^[:alnum:]_]", "", colnames)
# Mettre en minuscules
colnames <- tolower(colnames)
return(colnames)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment