访问量: 10 次浏览
在这篇文章中,我们将看到如何在R编程语言中导出多个数据框到不同的Excel工作表。
我们将使用 xlsx 模块。xlsx 库提供了R函数来读/写/格式化Excel文件及其格式。
xlsx 包给出了对Excel文件的编程控制。可以对工作表的组件如行、列和单元格进行修改,也可以对工作表的字体、颜色和文本进行格式化。
文件的内容可以被读入一个数据框,数据框也可以被附加到工作表上。
该软件包可以用以下R语言的语法安装到工作空间中。
install.packages ("xlsx")
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

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
