En este artículo, discutiremos cómo combinar varias hojas de cálculo de Excel en un solo marco de datos en el lenguaje de programación R.
El siguiente archivo XLSX «gfg.xlsx» se ha utilizado para todos los diferentes enfoques.
Método 1: Usando el paquete readxl
El método setwd() incorporado se usa para configurar el directorio de trabajo en R.
El paquete readxl en R se usa para importar y leer libros de trabajo de Excel en R, que se pueden usar para trabajar y modificar fácilmente las hojas .xslsx. Se puede instalar y cargar en el espacio de trabajo R utilizando la siguiente sintaxis:
install.packages("readxl")
Inicialmente, se invoca el método excel_sheets() para obtener todos los nombres de las hojas de cálculo contenidas en el libro de Excel, con la ruta de archivo especificada.
excel_sheets(path)
El método lapply() en R se usa para aplicar una función (ya sea definida por el usuario o predefinida) a un conjunto de componentes contenidos dentro de una lista o marco de datos de R. El método lapply() devuelve un objeto de la misma longitud que el objeto de entrada.
Sintaxis: lapply( obj , FUN)
Argumentos:
obj: el objeto al que se aplica la función
FUN – La función que se aplicará sobre diferentes componentes del objeto obj.
FUN es el método read_excel de este almacén de paquetes, que se usa para leer el contenido del nombre de la hoja especificada en un tibble, que es una estructura de tipo tabular que se usa para almacenar datos en filas y columnas fijas. El método lapply aplica el método read_excel sobre cada hoja del libro de trabajo.
Sintaxis: read_excel(ruta, hoja)
Argumentos:
ruta – La ruta del archivo
hoja: el nombre de la hoja para leer
El tibble final es producido por el método incorporado bind_rows(), que toma como entrada los marcos de datos individuales y les asigna una clave de atributo de ID singular. La salida de bind_rows() contendrá una columna si esa columna aparece en cualquiera de las entradas. El tibble de salida contiene los registros contenidos en todas las hojas, junto con sus respectivos tipos de datos. El nombre de columna «Hoja» se usa para encabezar todas las filas formando una columna principal.
R
# installing the required libraries library(readxl) library(tidyverse) # specifying the path for file path <- "/Users/mallikagupta/Desktop/" # set the working directory setwd(path) # accessing all the sheets sheet = excel_sheets("Gfg.xlsx") # applying sheet names to dataframe names data_frame = lapply(setNames(sheet, sheet), function(x) read_excel("Gfg.xlsx", sheet=x)) # attaching all dataframes together data_frame = bind_rows(data_frame, .id="Sheet") # printing data of all sheets print (data_frame)
Producción
# A tibble: 11 x 4 Sheet ID Name Job <chr> <dbl> <chr> <chr> 1 Sheet1 1 A Engineer 2 Sheet1 2 B CA 3 Sheet1 3 C SDE 4 Sheet1 4 D CA 5 Sheet1 5 E SDE 6 Sheet2 6 F SDE 7 Sheet2 7 G CA 8 Sheet2 8 H CA 9 Sheet2 9 I Admin 10 Sheet3 10 J SDE 11 Sheet3 11 K Admin
Método 2: Usar el paquete rio
paquete de rioestimular
install.packages("rio")
Los métodos import() y export() en R determinan la estructura de datos de la extensión de archivo especificada. El método import_list() importa una lista de marcos de datos de un archivo de varios objetos, por ejemplo, un libro de Excel o un archivo comprimido R.
Sintaxis: import_list(archivo, rbind = FALSO)
Argumentos:
archivo: el nombre de archivo del libro de Excel para acceder
rbind: indicador de si combinar o no los marcos de datos en un solo marco de datos
R
# specifying the path name path <- "/Users/mallikagupta/Desktop/Gfg.xlsx" # importing the required library library(rio) # reading data from all sheets data <- import_list(path , rbind=TRUE) # print data print (data)
Producción
ID Name Job _file 1 1 A Engineer 1 2 2 B CA 1 3 3 C SDE 1 4 4 D CA 1 5 5 E SDE 1 6 6 F SDE 2 7 7 G CA 2 8 8 H CA 2 9 9 I Admin 2 10 10 J SDE 3 11 11 K Admin 3
Publicación traducida automáticamente
Artículo escrito por yashchuahan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA