Importer des données en R depuis des sources externes

@joekakone

Joseph Konka @joekakone

03/03/2026 · 6 min

Maîtrisez l'importation de fichiers dans R : fichiers textes (.txt), CSV anglo-saxons et européens (read.csv, read.csv2), classeurs Excel (.xlsx) et gestion des encodages.

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) :

# Importation standard
donnees <- read.csv("data/ventes_us.csv", header = TRUE)

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 type character. Utilisez na.strings pour 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 explicitement encoding = "UTF-8" ou fileEncoding = "UTF-8". 3. L'oubli de l'entête : Si header = FALSE alors que votre fichier contient des titres de colonnes, la première ligne sera traitée comme des données observées.


Mise en pratique#

  1. Ouvrez un éditeur de texte (ou Notepad) et créez un fichier produits.csv dans votre dossier de travail avec le contenu suivant :
    id;nom_produit;prix_unitaire;stock
    1;Clavier ergonomique;49.99;25
    2;Souris sans fil;19.50;50
    3;Écran 27 pouces;189.00;12
    
  2. Importez ce fichier dans R sous le nom catalogue en utilisant read.table() ou read.csv2().
  3. Vérifiez avec str(catalogue) que la colonne prix_unitaire est bien reconnue comme numérique.

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue