如何只为一个文件打开工作目录中的下一个文件夹?
How to open next folder in working directory for only one file?
我有一个工作目录
setwd("C:/User/WorkDirectory")
我的工作目录中有文件
"File 1.csv", "File 2.csv", "File 3.csv", "Folder 1"
我访问这 3 个文件没有问题
df1<-read.csv("File 1.csv",check.names=FALSE)
但是我想打开文件夹 Folder 1
中的文件,同时保持我的工作目录不变。
我试过这样的东西
read.csv(paste0(setwd("./Folder 1/"),"File Another 1.csv"))
有没有一种漂亮而优雅的方法来做到这一点。我尝试这样做是有原因的,因为此文件夹包含文件的子部分。
使用file.path
- setwd
用于设置目录,而getwd
returns工作目录的路径。
setwd("C:/User/WorkDirectory")
read.csv(file.path(getwd(), "Folder 1", "Another 1.csv"))
或者我们也可以用.
来表示工作目录
read.csv(file.path(".", "Folder 1", "Another 1.csv"))
我不是很清楚你的意图,但我想递归 list.files
在这里会有帮助;
setwd("C:/User/WorkDirectory")
temp <- list.files(pattern = "*.csv", recursive = T)
这列出了 WorkDirectory
及其 sub-folders 中的 CSV 文件。您可以遍历列出的文件并将它们读入您的环境;
my_csv_files <- lapply(temp, read.csv)
或者如果您希望将它们作为多个数据帧保存到您的环境中,而不是像上面那样作为数据帧列表:
list2env(
lapply(setNames(temp, make.names(gsub(".*/([^.]+).*", "\1", temp))),
read.csv), envir = .GlobalEnv)
我有一个工作目录
setwd("C:/User/WorkDirectory")
我的工作目录中有文件
"File 1.csv", "File 2.csv", "File 3.csv", "Folder 1"
我访问这 3 个文件没有问题
df1<-read.csv("File 1.csv",check.names=FALSE)
但是我想打开文件夹 Folder 1
中的文件,同时保持我的工作目录不变。
我试过这样的东西
read.csv(paste0(setwd("./Folder 1/"),"File Another 1.csv"))
有没有一种漂亮而优雅的方法来做到这一点。我尝试这样做是有原因的,因为此文件夹包含文件的子部分。
使用file.path
- setwd
用于设置目录,而getwd
returns工作目录的路径。
setwd("C:/User/WorkDirectory")
read.csv(file.path(getwd(), "Folder 1", "Another 1.csv"))
或者我们也可以用.
来表示工作目录
read.csv(file.path(".", "Folder 1", "Another 1.csv"))
我不是很清楚你的意图,但我想递归 list.files
在这里会有帮助;
setwd("C:/User/WorkDirectory")
temp <- list.files(pattern = "*.csv", recursive = T)
这列出了 WorkDirectory
及其 sub-folders 中的 CSV 文件。您可以遍历列出的文件并将它们读入您的环境;
my_csv_files <- lapply(temp, read.csv)
或者如果您希望将它们作为多个数据帧保存到您的环境中,而不是像上面那样作为数据帧列表:
list2env(
lapply(setNames(temp, make.names(gsub(".*/([^.]+).*", "\1", temp))),
read.csv), envir = .GlobalEnv)