Leggi i file xlsx in R
- Consenti all’utente di specificare il file da importare
-
Usa la libreria
openxlsx
per leggere il file xlsx in R
Il modo più comune per ottenere dati da un foglio di calcolo Excel e importarli in R è utilizzare Excel per salvare i dati in un formato più convenzionale, come .csv
. Ma se è necessario importare ripetutamente file xlsx
, è preferibile un’opzione più rapida, come l’utilizzo di un pacchetto per importare file Excel direttamente in R.
Molti pacchetti in R hanno la capacità di leggere file xls
/ xlsx
. Uno di questi è readxl
. Questo pacchetto ha meno dipendenze esterne rispetto ad altri pacchetti, rendendolo facile da installare in quasi tutti i sistemi operativi. Il modo più semplice per aggiungerlo al tuo ambiente R è installare l’intera libreria tidyverse
con il seguente comando:
install.packages("tidyverse")
Ma poiché non è una libreria di base tidyverse
, deve ancora essere caricata esplicitamente con il comando library(readxl)
. Quindi sarai in grado di importare un file Excel con la funzione read_excel
, in questo modo:
MySheet <- read_excel("ExcelFile.xlsx")
Nell’esempio precedente, importiamo il contenuto di un foglio di calcolo chiamato ExcelFile.xlsx
in un data frame chiamato MySheet
.
Consenti all’utente di specificare il file da importare
Se non conosci in anticipo la posizione del file Excel e desideri consentire all’utente di scegliere il file da leggere, puoi utilizzare file.choose()
invece di specificare esplicitamente il percorso del file:
MySheet <- read_excel(file.choose())
La funzione read_excel()
ha altri parametri per specificare un particolare foglio da importare o specificare un valore che rappresenta NAs
invece di celle vuote. In questo esempio, stiamo importando un foglio chiamato data
e indicando che le celle con il contenuto NA
verranno interpretate come NA
:
MySheet <- read_excel("ExcelFile.xlsx", sheet = "data", na = "NA")
Usa la libreria openxlsx
per leggere il file xlsx in R
Un altro pacchetto che puoi usare per leggere file Excel in R è openxlsx
. Questo pacchetto semplifica la lettura e la scrittura di file xlsx e, come readxl
, e non dipende da Java, Perl o altre librerie esterne. Utilizzando Rcpp
, openxlsx
fornisce tempi di lettura / scrittura rapidi anche per file di grandi dimensioni. Questa libreria funziona bene con i file xlsx, ma non supporta i file xls più vecchi.
Openxlsx
fornisce la funzione read.xlsx
che crea un data frame con i dati letti dal file importato. Ha molte opzioni per specificare se l’area da importare contiene nomi di righe e colonne, il nome o il numero del foglio di lavoro da importare, le righe e le colonne da importare, tra molti altri.
Nell’esempio seguente, installiamo il pacchetto openxlsx
e apriamo la libreria. Quindi, utilizziamo le opzioni in read.xlsx
per importare le righe 2, 4 e 6 e le colonne da 5 a 7 dal foglio 1 di un file denominato Data.xlsx con questi dati:
Dopodiché, stampiamo il contenuto del data frame risultante sulla console. Dato che non leggiamo i nomi delle colonne dal file, impostiamo il parametro colNames
su False
. R assegnerà automaticamente una sequenza di nomi predefinita: X1
, X2
, X3
alle colonne nel DataFrame importato. Nota che possiamo specificare quali righe e colonne importare specificandole con i vettori:
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
Produzione:
X1 X2 X3
1 34 12 17
2 15 25 66
3 32 45 56
Per ulteriori letture, controlla la documentazione ufficiale di openxlsx.