R 将多个数据帧导出到不同的 Excel 文件
R Export several dataframes to differeny Excel files
我有几个数据帧(mydf1、mydf2、mydf3 等)。如何将每个数据帧导出到单独的 Excel 文件,以便文件名是数据帧的名称(例如 mydf1.xlsx)。
我试过将它们放在一个列表中并进行如下循环。它几乎给了我想要的东西,但我不知道如何让 R 正确命名 Excel 文件而不是 1.xlsx、2.xlsx 等。有什么想法吗?
install.packages("writexl")
library(writexl)
list_of_dfs <- lapply(ls(pattern="mydf"), function(x) get(x))
for (i in c(1:length(list_of_dfs))){
write_xlsx(list_of_dfs[i], paste(i,".xlsx"))
}
尝试以下方法。
- 使用
mget
一次获取所有df,不需要lapply
;
- df 的列表是一个 named 列表,名称可用于 assemble 文件名。
修正后的代码为:
library(writexl)
list_of_dfs <- mget(ls(pattern = "mydf"))
for(i in seq_along(list_of_dfs)){
filename <- paste0(names(list_of_dfs)[i], ".xlsx")
write_xlsx(list_of_dfs[[i]], filename)
}
我有几个数据帧(mydf1、mydf2、mydf3 等)。如何将每个数据帧导出到单独的 Excel 文件,以便文件名是数据帧的名称(例如 mydf1.xlsx)。
我试过将它们放在一个列表中并进行如下循环。它几乎给了我想要的东西,但我不知道如何让 R 正确命名 Excel 文件而不是 1.xlsx、2.xlsx 等。有什么想法吗?
install.packages("writexl")
library(writexl)
list_of_dfs <- lapply(ls(pattern="mydf"), function(x) get(x))
for (i in c(1:length(list_of_dfs))){
write_xlsx(list_of_dfs[i], paste(i,".xlsx"))
}
尝试以下方法。
- 使用
mget
一次获取所有df,不需要lapply
; - df 的列表是一个 named 列表,名称可用于 assemble 文件名。
修正后的代码为:
library(writexl)
list_of_dfs <- mget(ls(pattern = "mydf"))
for(i in seq_along(list_of_dfs)){
filename <- paste0(names(list_of_dfs)[i], ".xlsx")
write_xlsx(list_of_dfs[[i]], filename)
}