【问题标题】:write list of dataframes to multiple excel files将数据框列表写入多个 excel 文件
【发布时间】:2019-07-01 06:57:55
【问题描述】:

我有一个数据框列表。方便命名:

list.df

而作为数据框的对象就是这样的:

list.df[[1]]  
list.df[[2]]  
list.df[[3]]

我正在尝试使用 lapply 将每个 list.df 对象写入单独的 Excel 工作表。

我无法使用 xlsx 库,因为我的工作场所禁用了所有 Java... 所以我一直在尝试 write_xlsx。

我尝试了以下方法:

lapply(names(list.df), 
              function (x) write_xlsx(list.df[[x]], file=paste(x, "xlsx", sep=".")))

但是什么也没发生。

任何帮助将不胜感激。

【问题讨论】:

  • 为什么all.list3改为df.daily?基于示例,lapply(names(list.df), function(x) write_xlsx(list.df[[x]], file = paste0(x, ".xlsx")))
  • 错字。但正如您提供的“基于示例”。仍然没有任何反应。只是我在控制台中看到 list()
  • 那么,您没有在目录中找到任何文件?
  • 正确。代码不会向目录中写入任何内容。
  • 你说I can't use the xlsx library because my workplace disables everything Java.write_xlsx来自xlsx?对。如果rJava没有正确安装,它将无法工作

标签: r excel list dataframe lapply


【解决方案1】:

我想这可能对你有帮助

require(openxlsx)
available_dfs<- ls()[sapply(ls(), function(x) is.data.frame(get(x)))]

list_of_datasets <- list("Name of DataSheet1" = dataframe1, "Name of Datasheet2" = dataframe2)
write.xlsx(list_of_datasets, file = "writeXLSX2.xlsx")

【讨论】:

    【解决方案2】:

    对于来自writexlwrite_xlsx,没有file 参数。这是path 参数

    library(writexl)
    lapply(names(list.df), 
              function (x) write_xlsx(list.df[[x]], path=paste(x, "xlsx", sep=".")))
    

    -带有文件的输出目录

    数据

    list.df <-  list(A = structure(list(X1 = c("a", "d", "g", "j"), X2 = 1:4, 
        X3 = c("b", "e", "h", "k"), X4 = c("c", "f", "i", "l")),
      class = "data.frame", row.names = c(NA, 
    -4L)), B = structure(list(X1 = c("a", "d", "g", "j"), X2 = c(1L, 
    2L, 2L, 3L), X3 = c("b", "e", "h", "k"), X4 = c("c", "f", "i", 
    "l")), class = "data.frame", row.names = c(NA, -4L)), C = structure(list(
        X1 = c("a", "d", "g", "j"), X2 = 1:4, X3 = c("b", "e", "h", 
        "k"), X4 = c("c", "f", "i", "l")), class = "data.frame", row.names = c(NA, 
    -4L)))
    

    【讨论】:

      猜你喜欢
      • 2019-05-10
      • 2016-12-03
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      • 2021-09-06
      • 1970-01-01
      相关资源
      最近更新 更多