我的R代码当前涉及遍历.xlsm
文件列表,通过function
转换每张工作表中的数据,然后将文件输出为.xlsx
文件集。假设我的Filelist
仅包含2个文件,即Filelist = c("aaa.xlsm", "bbb.xlsm")
,我的当前代码如下所述,将分别输出文件名为“ aaa.xlsm.xlsx”和“ bbb.xlsm.xlsx”的.xlsx
文件。] >
Filelist <- list.files(pattern = ".xlsm$") #extract list of files from folder that end with xlsm lapply(Filelist, function(i) { df1 <- read_excel(i, sheet = "Trial1") df2 <- read_excel(i, sheet = "Trial2") df3 <- read_excel(i, sheet = "Trial3") df4 <- read_excel(i, sheet = "Trial4") write.xlsx(list(df1, df2, df3, df4), file = paste0('Out', i, '.xlsx'), sheetName = c("df1", "df2", "df3", "df4"))})
如何将文件输出为“ aaa.xlsx”和“ bbb.xlsx”?我知道在以错误的名称输出
file.rename
文件之后,可以使用函数.xlsx
,但似乎无法为此获得正确的语法。
Filename <- list.files(pattern = ".xlsm.xlsx$")
Newname <- sub("^xlsm.xlsx$", "xlsx", Filename)
file.rename(Filename, Newname)
我的R代码当前涉及遍历.xlsm文件列表,通过函数转换每个工作表中的数据,然后将文件输出为.xlsx文件集。假设我的文件列表...
您可以使用tools::file_path_sans_ext
并添加扩展名以直接生成名称: