R语言 如何把多个数据框导出到不同的Excel工作表中

R语言 如何把多个数据框导出到不同的Excel工作表中

在这篇文章中,我们将看到如何在R编程语言中导出多个数据框到不同的Excel工作表。

我们将使用xlsx模块。xlsx库提供了R函数来读/写/格式化Excel文件及其格式。xlsx包给出了对Excel文件的编程控制。可以对工作表的组件如行、列和单元格进行修改,也可以对工作表的字体、颜色和文本进行格式化。文件的内容可以被读入一个数据框,数据框也可以被附加到工作表上。该软件包可以用以下R语言的语法安装到工作空间中。

install.packages ("xlsx")
Bash

方法1:使用write.xlsx()

R语言中的write.xlsx()方法可以用来将一个数据框架写入Excel工作簿中。如果指定为该方法第一个参数的R对象不是一个数据框架,可以将其转换为一个数据框架。

语法: write.xlsx(df, file, sheetName = “Sheet1”, col.names = TRUE, row.names = TRUE, append = FALSE, showNA = TRUE, password = NULL )

参数:

  • df – 要写入工作簿中的数据框架。
  • file – 输出文件的路径。
  • sheetName – 分配给工作表的名称。
  • col.names – 指示器,表明是否应将df的列名写入文件中。
  • row.names – 表示是否应该将df的行名写在文件中。
  • append – 一个逻辑值,表示是否应该将df追加到一个现有的文件中。
  • password – 一个密码字符串。

下面的代码片段创建了多个数据框架,然后使用write.xlsx()方法将它们添加到同一个Excel工作表的不同工作表中,并指定文件路径名称。在第二个数据框的情况下,append属性应等同于TRUE值,以将随后的数据框添加到同一工作表中。

# 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)
Bash

输出

[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
Bash

如何在R语言中把多个数据框导出到不同的Excel工作表中

方法2:使用createWorkbook()

R中的createWorkbook()方法是用来创建一个空的工作簿对象。它返回一个java对象,其中包含对一个空对象的引用。

createWorkbook(type = "xlsx")
Bash

R中的createSheet()方法返回创建的工作表对象。工作簿对象可以用来调用createSheet()调用。

createSheet(wb, sheetName)
Bash

R中的addDataFrame()方法可以用来在工作表中添加一个数据框,允许不同的列样式。这个方法比之前的方法更好,因为它也可以用来定制行和列。

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

参数 :

  • df – 要写入工作簿中的数据框架。
  • sheetName – 分配给工作表的名称。
  • col.names – 表示是否应将df的列名写在文件中。
  • row.names – 是否应该将df的行名写到文件中的指标。
  • startRow – 起始行指标。
  • startColumn – 开始列的指示器。

然后可以使用saveWorkbook()方法来保存工作簿,其语法如下。

saveWorkbook(wb, file, password = NULL)

代码

# 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)
Bash

输出

[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
Bash

如何在R语言中把多个数据框导出到不同的Excel工作表中

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册