Chapitre 3 Importation des données
3.1 Gérer les chemins de fichiers de manière robuste avec file.path()
Lorsqu’on travaille avec des fichiers sur différents systèmes d’exploitation ou dans des environnements partagés (comme un gros serveur), il est essentiel de gérer les chemins de fichiers de manière à éviter les erreurs dues à des séparateurs de dossiers incorrects ou à des chemins absolus spécifiques à un système.
3.1.1 Pourquoi utiliser file.path() ?
La fonction file.path() est particulièrement utile pour construire des chemins de fichiers de manière sûre et portable. Voici quelques raisons pour lesquelles vous devriez utiliser file.path() :
Séparateurs automatiques :
file.path()insère automatiquement les bons séparateurs de dossiers (/pour Linux et macOS,\pour Windows), évitant ainsi les erreurs.Portabilité : Votre code fonctionnera de manière identique quel que soit le système d’exploitation utilisé.
Clarté : Le code devient plus lisible, en séparant clairement les différents composants du chemin de fichier.
3.1.2 Exemple avec un fichier CSV
Supposons que vous avez un fichier CSV appelé mon_fichier.csv situé dans un dossier data, lui-même dans un dossier parent projet.
Voici comment vous pouvez construire le chemin de ce fichier et le lire dans R :
# Charger les packages nécessaires
library(readr)
# Construire le chemin complet du fichier CSV
chemin_csv <- file.path("projet", "data", "mon_fichier.csv")
#on évite "chemin/vers/votre_fichier.csv"
# Lire le fichier CSV dans un dataframe
mon_dataframe <- read_csv(chemin_csv)
# Lire le fichier CSV dans un dataframe
mon_dataframe <- read_csv(chemin_local)Dans cet exemple, file.path("projet", "data", "mon_fichier.csv") crée un chemin correct en fonction du système d’exploitation, que ce soit sur votre machine locale ou sur un serveur.
3.1.3 Exemple avec un fichier XLSX
Le même principe s’applique si vous travaillez avec des fichiers Excel (.xlsx). Par exemple, si vous avez un fichier mon_tableau.xlsx dans le même dossier data, vous pouvez le lire ainsi :
# Charger le package readxl pour lire les fichiers XLSX
library(readxl)
# Construire le chemin complet du fichier XLSX
chemin_xlsx <- file.path("projet", "data", "mon_tableau.xlsx")
# Lire la première feuille du fichier XLSX dans un dataframe
mon_tableau <- read_excel(chemin_xlsx)Ici, file.path("projet", "data", "mon_tableau.xlsx") s’assure que le chemin du fichier est correctement formaté, évitant ainsi les erreurs dues à des séparateurs de dossiers incorrects.
3.2 Télécharger des feuilles spécifiques d’un fichier XLSX
Dans certains cas, vous pouvez avoir besoin de lire seulement une ou plusieurs feuilles spécifiques d’un fichier Excel (.xlsx). Le package readxl en R vous permet de le faire de manière simple et efficace.
3.2.1 Pourquoi lire des feuilles spécifiques ?
Les fichiers Excel peuvent contenir plusieurs feuilles, chacune pouvant représenter un ensemble de données distinct. Il est souvent inutile de charger l’ensemble du fichier si vous avez besoin d’une seule feuille. Lire uniquement les feuilles spécifiques réduit l’utilisation de la mémoire et accélère le processus de chargement des données.
3.2.2 Charger une feuille spécifique
Supposons que vous avez un fichier Excel appelé mon_fichier.xlsx avec plusieurs feuilles, et que vous souhaitez charger uniquement la feuille intitulée "Feuille1".
# Charger le package readxl
library(readxl)
# Construire le chemin du fichier XLSX
chemin_xlsx <- file.path("projet", "data", "mon_fichier.xlsx")
# Lire la feuille spécifique "Feuille1" dans un dataframe
feuille1_dataframe <- read_excel(chemin_xlsx, sheet = "Feuille1")Dans cet exemple, read_excel() avec l’argument sheet spécifie la feuille à lire. Le chemin complet du fichier est construit à l’aide de file.path() pour assurer la portabilité du code.
3.2.3 Lire plusieurs feuilles
Si vous avez besoin de lire plusieurs feuilles, vous pouvez procéder de la manière suivante :
# Lire plusieurs feuilles spécifiques en une seule fois
feuilles <- c("Feuille1", "Feuille2")
# Utiliser lapply pour lire chaque feuille dans une liste de dataframes
liste_dataframes <- lapply(feuilles, function(feuille) {
read_excel(chemin_xlsx, sheet = feuille)
})
# Afficher les premières lignes de chaque dataframe
lapply(liste_dataframes, head)Dans cet exemple, lapply() est utilisé pour lire plusieurs feuilles spécifiques et les stocker dans une liste de dataframes. Cela permet de travailler facilement avec plusieurs ensembles de données provenant du même fichier Excel.
3.2.4 Lire une feuille par son numéro
Vous pouvez aussi spécifier une feuille par son numéro d’ordre, ce qui est utile si vous ne connaissez pas le nom exact de la feuille :
Dans ce cas, l’argument sheet = 1 indique que la première feuille du fichier doit être lue.
3.2.5 Conclusion
La capacité de lire des feuilles spécifiques d’un fichier Excel vous donne une grande flexibilité dans la gestion de vos données. Que vous ayez besoin de travailler avec une seule feuille ou plusieurs, le package readxl et R vous fournissent les outils nécessaires pour le faire efficacement.