Lire les fichiers xlsx dans R

  1. Laissez l’utilisateur spécifier le fichier à importer
  2. Utilisez la bibliothèque openxlsx pour lire le fichier xlsx dans R

La façon la plus courante d’obtenir des données d’une feuille de calcul Excel et de les importer dans R est d’utiliser Excel pour enregistrer les données dans un format plus conventionnel, comme le .csv. Mais si vous avez besoin d’importer des fichiers xlsx à plusieurs reprises, une option plus rapide, comme l’utilisation d’un paquet pour importer des fichiers Excel directement dans R, est préférable.

De nombreux paquets dans R ont la capacité de lire les fichiers xls/xlsx. L’un d’entre eux est readxl. Ce paquet a moins de dépendances externes que les autres paquets, ce qui le rend facile à installer dans presque tous les systèmes d’exploitation. La façon la plus simple de l’ajouter à votre environnement R est d’installer toute la bibliothèque tidyverse avec la commande suivante :

install.packages("tidyverse")

Mais comme ce n’est pas une bibliothèque tidyverse de base, elle doit encore être chargée explicitement avec la commande library(readxl). Ensuite, vous pourrez importer un fichier Excel avec la fonction read_excel, comme ceci :

MySheet <- read_excel("ExcelFile.xlsx")

Dans l’exemple précédent, nous importons le contenu d’une feuille de calcul appelée ExcelFile.xlsx dans un cadre de données appelé MySheet.

Laissez l’utilisateur spécifier le fichier à importer

Si vous ne connaissez pas à l’avance l’emplacement du fichier Excel et que vous souhaitez laisser l’utilisateur choisir le fichier à lire, vous pouvez utiliser file.choose() au lieu de spécifier explicitement le chemin d’accès au fichier :

MySheet <- read_excel(file.choose())

La fonction read_excel() a d’autres paramètres pour spécifier une feuille particulière à importer ou spécifier une valeur représentant des NAs au lieu de cellules vides. Dans cet exemple, nous importons une feuille appelée data et indiquant que les cellules avec le contenu NA seront interprétées comme des NAs :

MySheet <- read_excel("ExcelFile.xlsx", sheet = "data", na = "NA")

Utilisez la bibliothèque openxlsx pour lire le fichier xlsx dans R

Un autre paquet que vous pouvez utiliser pour lire des fichiers Excel dans R est openxlsx. Ce paquet simplifie la lecture et l’écriture des fichiers xlsx et, comme readxl, ne dépend pas de Java, Perl, ou d’autres bibliothèques externes. En utilisant Rcpp, openxlsx permet des temps de lecture/écriture rapides même pour des fichiers volumineux. Cette bibliothèque fonctionne bien avec les fichiers xlsx, mais elle ne prend pas en charge les anciens fichiers xls.

Openxlsx fournit la fonction read.xlsx qui crée un cadre de données avec les données lues dans le fichier importé. Il dispose de nombreuses options pour spécifier si la zone à importer contient des noms de lignes et de colonnes, le nom ou le numéro de la feuille de calcul à importer, les lignes et les colonnes à importer, parmi beaucoup d’autres.

Dans l’exemple suivant, nous installons le paquet openxlsx et ouvrons la bibliothèque. Ensuite, nous utilisons les options de read.xlsx pour importer les lignes 2, 4, et 6 et les colonnes 5 à 7 de la feuille 1 d’un fichier nommé Data.xlsx avec ces données :

Sample-Excel

Ensuite, nous imprimons le contenu de la trame de données résultante sur la console. Comme nous ne lisons pas les noms des colonnes du fichier, nous réglons le paramètre colNames sur FALSE. R attribuera automatiquement une séquence de noms par défaut : X1, X2, X3 aux colonnes de la trame de données importée. Notez que nous pouvons spécifier les lignes et les colonnes à importer en les spécifiant avec des vecteurs :

install.packages("openxlsx")
library("openxlsx")
MyData <- read.xlsx(xlsxFile="c:/Tmp/Data.xlsx", sheet = 1, rows = c(2, 4, 6), cols = 5:7, colNames = FALSE)
MyData

Production :

  X1 X2 X3
1 34 12 17
2 15 25 66
3 32 45 56

Pour plus d’informations, consultez la documentation officielle openxlsx documentation.