我的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
并添加扩展名以直接生成名称: