【问题标题】:R Loop to copy files into different folders according to values in data frameR循环根据数据框中的值将文件复制到不同的文件夹中
【发布时间】:2020-06-22 18:11:30
【问题描述】:

我想编写一个简单的循环,它将创建文件夹 (.jpg) 中所有图像的副本,并根据表中的值将它们分类到不同的文件夹中。

例如,如果我有三张图像并想根据下表将它们移动到文件夹中:

我可以使用

读取文件
files <- list.files(dir, pattern="*.JPG", full.names=TRUE, recursive=FALSE)

但我可以使用一些帮助对循环进行编码,该循环将使用条件语句使用“目标”列中的相应字符串创建新文件夹中的文件副本,该字符串对应于因子“组”。

这类似于this questionthis question,但不同之处在于我想复制图像并根据表中的值重命名它们,而不是循环遍历多个表。

提前谢谢你!!

【问题讨论】:

  • ?file.copy。构建到您的目的地和file.copy(from = data$name, to = data$destination) 的完整或相对路径。不需要循环。不确定您认为需要什么条件语句。

标签: r loops image-processing


【解决方案1】:

非常感谢@Gregor Thomas,这就是我想出的:

dir <- "C:/path"

setwd(dir)
data <- read.csv("key.csv")

subfolder_names <- data$destination
for (j in 1:length(subfolder_names)){
  folder<-dir.create(paste0(dir,subfolder_names[j]))
}

files <- list.files(dir, pattern="*.JPG", full.names=TRUE, recursive=FALSE)

file.copy(from = file.path(files), to = file.path(data$destination, data$name))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 2019-04-22
    • 2019-03-28
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多