如何使用原始文件名循环保存多个文件
How to save multiple files in loop with original filenames
我正在尝试从文件夹中导入多个 SAS 数据文件,然后将它们作为具有相同原始 SAS 数据集名称的 R 数据帧保存回文件夹中。一切正常,除了我不知道如何用原始文件名保存文件(即,我不知道 x in > save(xxx, file = ...).
我试过的代码如下:
path <- "path to folder with sas files"
list.files(pattern=".sas7bdat$")
list.filenames<-list.files(pattern=".sas7bdat$")
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(list.filenames[i],file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
没用...
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(list.filenames[[i]],file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
不起作用
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(filename,file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
关于如何使用 list.filenames[i] 中的原始名称保存文件的任何帮助?
使用 save
的 "list" 参数。像
path <- "path to folder with sas files"
list.filenames <- list.files(path, pattern="\.sas7bdat$")
for (i in list.filenames) {
datName <- tools::file_path_sans_ext(i)
assign(datName, read_sas(i))
save(list=datName, file = paste0(path, paste(datName, "Rdat", sep = ".")))
}
会起作用。另外,我想你想要 pattern=".sas7bdat$"
作为 pattern="\.sas7bdat$
,因为“。”是正则表达式中的通配符。
我正在尝试从文件夹中导入多个 SAS 数据文件,然后将它们作为具有相同原始 SAS 数据集名称的 R 数据帧保存回文件夹中。一切正常,除了我不知道如何用原始文件名保存文件(即,我不知道 x in > save(xxx, file = ...).
我试过的代码如下:
path <- "path to folder with sas files"
list.files(pattern=".sas7bdat$")
list.filenames<-list.files(pattern=".sas7bdat$")
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(list.filenames[i],file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
没用...
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(list.filenames[[i]],file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
不起作用
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(filename,file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
关于如何使用 list.filenames[i] 中的原始名称保存文件的任何帮助?
使用 save
的 "list" 参数。像
path <- "path to folder with sas files"
list.filenames <- list.files(path, pattern="\.sas7bdat$")
for (i in list.filenames) {
datName <- tools::file_path_sans_ext(i)
assign(datName, read_sas(i))
save(list=datName, file = paste0(path, paste(datName, "Rdat", sep = ".")))
}
会起作用。另外,我想你想要 pattern=".sas7bdat$"
作为 pattern="\.sas7bdat$
,因为“。”是正则表达式中的通配符。