Dans les scénarios professionnels, les données ne sont presque jamais saisies à la main dans un script. Elles proviennent d'exportations de bases de données, d'outils CRM, de fichiers plats CSV ou de classeurs Excel.
R offre des fonctions natives très puissantes complétées par des bibliothèques modernes pour ingérer n'importe quel flux de données.
1. Importer des fichiers textes et CSV avec R de base#
La famille de fonctions read.* est nativement intégrée à R sans nécessiter l'installation d'aucun package supplémentaire :
Séparateurs selon les standards
┌───────────────────────┬───────────────────────┬───────────────────────┐
│ Format │ Séparateur de colonnes│ Séparateur de décimale│
├───────────────────────┼───────────────────────┼───────────────────────┤
│ Standard US (read.csv)│ Virgule (,) │ Point (.) │
│ Standard FR (read.csv2│ Point-virgule (;) │ Virgule (,) │
│ Fichier TXT générique │ Tabulation (\t) ou esp│ Configurable │
└───────────────────────┴───────────────────────┴───────────────────────┘
1. Fichier CSV au format américain (read.csv)#
Pour un fichier délimité par des virgules avec des décimales en points (ex : 12.5,45.2) :
2. Fichier CSV au format français / européen (read.csv2)#
En France et en Europe continentale, Excel exporte souvent des CSV séparés par des points-virgules (;) et utilise des virgules (,) pour les décimales (ex : 12,5;45,2) :
# Importation adaptée aux paramètres régionaux français
donnees_fr <- read.csv2("data/ventes_france.csv", header = TRUE)
3. La fonction universelle : read.table()#
C'est la fonction mère qui permet de contrôler tous les paramètres à la main :
donnees <- read.table(
file = "data/fichier_brut.txt",
header = TRUE, # La première ligne contient les noms des colonnes
sep = ";", # Séparateur de colonnes
dec = ".", # Séparateur décimal
na.strings = c("NA", "", "ND", "null"), # Valeurs à considérer comme manquantes
stringsAsFactors = FALSE, # Garder le texte en type caractère
encoding = "UTF-8" # Encodage pour préserver les accents
)
2. Importer des classeurs Excel (.xlsx)#
R de base ne lit pas nativement le format binaire propriétaire des classeurs Excel. Pour cela, la communauté a conçu le package léger et performant readxl (partie du Tidyverse) :
# Installer le package si ce n'est pas déjà fait
# install.packages("readxl")
library(readxl)
# Importer la première feuille d'un fichier Excel
classeur <- read_excel("data/rapport_annuel.xlsx")
# Spécifier une feuille précise (par nom ou par index)
budget <- read_excel("data/rapport_annuel.xlsx", sheet = "Budget_2026")
# Visualiser les premières lignes
head(budget)
3. Les pièges fréquents à éviter#
[!WARNING] Les 3 erreurs classiques lors de l'import :
1. Les colonnes numériques qui deviennent du texte : Si une colonne de prix contient ne serait-ce qu'une seule case avec du texte (ex :"N/A"ou"Gratuit"), R convertira toute la colonne en typecharacter. Utilisezna.stringspour désigner ces valeurs comme manquantes. 2. L'erreur d'encodage (les accents détruits) : Si les caractères accentués (é,à,è) s'affichent sous forme de hiéroglyphes (é), précisez explicitementencoding = "UTF-8"oufileEncoding = "UTF-8". 3. L'oubli de l'entête : Siheader = FALSEalors que votre fichier contient des titres de colonnes, la première ligne sera traitée comme des données observées.
Mise en pratique#
- Ouvrez un éditeur de texte (ou Notepad) et créez un fichier
produits.csvdans votre dossier de travail avec le contenu suivant : - Importez ce fichier dans R sous le nom
catalogueen utilisantread.table()ouread.csv2(). - Vérifiez avec
str(catalogue)que la colonneprix_unitaireest bien reconnue comme numérique.
Commentaires