我正在尝试使用库(xlsx)以可读格式将R中的某些数据写入excel。
我的数据集的格式为:
tbl <- list("some_name"=head(mtcars),"some_name2"=head(iris))
我想将此表编写为excel,列表中的每个项目都已标识,数据紧挨该项目。例如。 excel文件应该看起来像
"some_name" in cell A1
paste the dataframe head(mtcars) in cell A3
"some_name2" in cell A11
paste the dataframe head(iris) in cell A13
或类似的内容,例如将每个项目粘贴到新的工作表中。
使用
write.xlsx(tbl,"output.xlsx")
将正确输出它,但是其格式不可读。
任何帮助都会很棒
答案 0 :(得分:0)
以下代码创建一个具有多张工作表的xlsx文件,每个文件都包含一个列表名称(工作表名称和标题)以及标题下方的数据框。您可以根据需要对其进行修改。
require(xlsx)
ls2xlsx <- function(x, wb){
for(i in 1:length(x)){
sh <- createSheet(wb, names(x[i]))
cl_title <- createCell(createRow(sh, 1), 1)
addDataFrame(x[i], sh, startRow = 2, startColumn = 1)
setCellValue(cl_title[[1, 1]], names(x[i]))
}
}
tbl <- list("some_name" = head(mtcars),"some_name2"=head(iris))
wb <- createWorkbook()
ls2xlsx(tbl, wb)
saveWorkbook(wb, 'test.xlsx')
答案 1 :(得分:0)
以下函数将数据帧列表写入public class ProductEntity
{
public List<Products> products { get; set; }
}
public class Products
{
public string id { get; set; }
public string name { get; set; }
public string pricePerUnit { get; set; }
}
文件。
它有两种模式,由参数.xlsx
给出。
beside
是默认设置。它只写一张纸,数据框名称在第一行,然后是一个空单元格,然后是数据框。并针对所有并行编写的数据帧重复此操作。beside = TRUE
每张纸写入一个数据帧。工作表的名称是数据框名称。如果列表成员没有名称,则该名称由参数beside = FALSE
给出。 sheetNamePrefix
文件写在参数.xlsx
给定的目录中。
file