R语言 如何把多个数据框导出到不同的Excel工作表中
在这篇文章中,我们将看到如何在R编程语言中导出多个数据框到不同的Excel工作表。
我们将使用xlsx模块。xlsx库提供了R函数来读/写/格式化Excel文件及其格式。xlsx包给出了对Excel文件的编程控制。可以对工作表的组件如行、列和单元格进行修改,也可以对工作表的字体、颜色和文本进行格式化。文件的内容可以被读入一个数据框,数据框也可以被附加到工作表上。该软件包可以用以下R语言的语法安装到工作空间中。
install.packages ("xlsx")
方法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)
输出 。
[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
方法2:使用createWorkbook()
R中的createWorkbook()方法是用来创建一个空的工作簿对象。它返回一个java对象,其中包含对一个空对象的引用。
createWorkbook(type = "xlsx")
R中的createSheet()方法返回创建的工作表对象。工作簿对象可以用来调用createSheet()调用。
createSheet(wb, sheetName)
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)
输出 。
[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