Cómo exportar múltiples marcos de datos a diferentes hojas de cálculo de Excel en R

En este artículo, veremos cómo exportar múltiples marcos de datos a diferentes hojas de cálculo de Excel en el lenguaje de programación R.

Usaremos el módulo xlsx. La biblioteca xlsx proporciona funciones R para leer/escribir/formatear archivos de Excel y sus formatos. El paquete xlsx brinda control programático de archivos de Excel. Se puede realizar la modificación de los componentes de la hoja como filas, columnas y celdas, así como formatear las fuentes, colores y textos de la hoja. El contenido del archivo se puede leer en un marco de datos y el marco de datos también se puede agregar a la hoja. El paquete se puede instalar en el espacio de trabajo usando la siguiente sintaxis en R: 

install.packages ("xlsx")

Método 1: Usando write.xlsx()

El método write.xlsx() en R se puede usar para escribir un marco de datos en un libro de Excel. En caso de que el objeto R especificado como primer argumento del método no sea un marco de datos, se puede convertir en uno. 

Sintaxis: write.xlsx(df, file, sheetName = «Sheet1», col.names = TRUE, row.names = TRUE, append = FALSE, showNA = TRUE, password = NULL )

Argumentos: 

  • df: el marco de datos para escribir en el libro de trabajo.
  • archivo: la ruta al archivo de salida.
  • sheetName: un nombre asignado a la hoja.
  • col.names: indicador de si los nombres de columna de df deben escribirse en el archivo.
  • row.names: indicador de si los nombres de fila de df deben escribirse en el archivo.
  • agregar: un valor lógico que indica si df debe agregarse a un archivo existente.
  • contraseña: una string de contraseña.

El siguiente fragmento de código crea múltiples marcos de datos y luego los agrega a diferentes hojas de la misma hoja de Excel usando el método write.xlsx(), con el nombre de ruta de archivo especificado. En el caso del segundo marco de datos, el atributo de adición debe equipararse a un valor VERDADERO, para agregar el siguiente marco de datos a la misma hoja.  

R

# importing required library
library("xlsx")
  
# creating data frame
df1 <- data.frame(col1 = c(1:3),
                  col2 = letters[1:3],
                  col3 = TRUE)
print ("Dataframe 1")
print (df1)
  
# creating another data frame
df2 <- data.frame(c1 = FALSE,
                  c2 = rep(1,5),
                  c3 = seq(0.1,length.out = 5,
                           by = 0.1))
print ("Dataframe 2")
print (df2)
  
# accessing file path
file = "/Users/yashchauhan/Desktop/gfg.xlsx"
  
# writing contents to xlsx sheet
write.xlsx(df1, file = file, sheetName = "sheet1",
           row.names = FALSE)
  
write.xlsx(df2, file= file, sheetName = "sheet2",
           append = TRUE, row.names = FALSE)

Producción:

[1] "Dataframe 1" 
col1 col2 col3 
1    1    a TRUE 
2    2    b TRUE 
3    3    c TRUE
[1] "Dataframe 2" 
c1 c2  c3 
1 FALSE  1 0.1 
2 FALSE  1 0.2 
3 FALSE  1 0.3 
4 FALSE  1 0.4 
5 FALSE  1 0.5

Método 2: Usar createWorkbook()

El método createWorkbook() en R se usa para crear un objeto de libro de trabajo vacío. Devuelve un objeto java que contiene la referencia a un objeto vacío. 

createWorkbook(type = "xlsx")

El método createSheet() en R devuelve el objeto de hoja creado. El objeto del libro de trabajo se puede usar para invocar la llamada createSheet(). 

createSheet(wb, sheetName)

El método addDataFrame() en R se puede usar para agregar un marco de datos a una hoja, lo que permite diferentes estilos de columna. Este método es mejor que el anterior porque también se usa para personalizar filas y columnas. 

Sintaxis: addDataFrame( df , sheetName, col.names = TRUE, row.names = TRUE, startRow = 1, startColumn = 1) 

Argumentos: 

  • df: el marco de datos para escribir en el libro de trabajo.
  • sheetName: un nombre asignado a la hoja.
  • col.names: indicador de si los nombres de columna de df deben escribirse en el archivo.
  • row.names: indicador de si los nombres de fila de df deben escribirse en el archivo.
  • startRow: indicador de fila inicial.
  • startColumn: indicador de columna inicial.

El libro de trabajo se puede guardar usando el método saveWorkbook(), que tiene la siguiente sintaxis:

saveWorkbook(wb, archivo, contraseña = NULL)

Código:

R

# importing required library
library("xlsx")
  
# creating data frame
df1 <- data.frame(col1 = c(1:3),
                  col2 = letters[1:3],
                  col3 = TRUE)
print ("Dataframe 1")
print (df1)
  
# creating another data frame
df2 <- data.frame(c1 = FALSE,
                  c2 = rep(1,5),
                  c3 = seq(0.1,length.out = 5,by=0.1))
print ("Dataframe 2")
print (df2)
  
# accessing file path
file = "/Users/yashchauhan/Desktop/gfg2.xlsx"
  
# creating workbook
wb = createWorkbook()
sht = createSheet(wb, "Sheet 1")
  
# add data frame
addDataFrame(df1, sheet=sht, startColumn = 1,
             row.names = FALSE)
  
# create another sheet
sht = createSheet(wb, "Sheet 2")
  
# add data frame
addDataFrame(df2, sheet = sht, startColumn = 1,
             row.names = FALSE)
  
saveWorkbook(wb, file)

Producción:

[1] "Dataframe 1" 
col1 col2 col3 
1    1    a TRUE 
2    2    b TRUE 
3    3    c TRUE
[1] "Dataframe 2" 
c1 c2  c3 
1 FALSE  1 0.1 
2 FALSE  1 0.2 
3 FALSE  1 0.3 
4 FALSE  1 0.4 
5 FALSE  1 0.5

Publicación traducida automáticamente

Artículo escrito por yashchuahan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *