如何重命名文件,以使文件扩展名不会出现在使用R的名称中

问题描述 投票:0回答:1

我的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文件集。假设我的文件列表...

r rename export-to-excel file-rename batch-rename
1个回答
1
投票

您可以使用tools::file_path_sans_ext并添加扩展名以直接生成名称:

© www.soinside.com 2019 - 2024. All rights reserved.