Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R和列出要复制的文件名的csv文件将文件从一个文件夹复制到另一个文件夹_R_Csv_Copy - Fatal编程技术网

使用R和列出要复制的文件名的csv文件将文件从一个文件夹复制到另一个文件夹

使用R和列出要复制的文件名的csv文件将文件从一个文件夹复制到另一个文件夹,r,csv,copy,R,Csv,Copy,我想使用csv文件,其中列出了我想从一个文件夹复制到另一个文件夹的文件名。“发件人”文件夹包含一些我不希望复制的文件,以及我确实希望复制的文件。我有一个csv文件,其中包含要复制的文件名列表。每个文件都包含多个扩展名(.sid、.xml等),我希望复制文件的所有组件。我可以使用诸如stringr之类的库来帮助完成任务 是否有人已经编写了一个灵活的函数来处理此任务 这是我的剧本的开头 > library (stringr) > > copy_from <- "c:/Tem

我想使用csv文件,其中列出了我想从一个文件夹复制到另一个文件夹的文件名。“发件人”文件夹包含一些我不希望复制的文件,以及我确实希望复制的文件。我有一个csv文件,其中包含要复制的文件名列表。每个文件都包含多个扩展名(.sid、.xml等),我希望复制文件的所有组件。我可以使用诸如
stringr
之类的库来帮助完成任务

是否有人已经编写了一个灵活的函数来处理此任务

这是我的剧本的开头

> library (stringr)
> 
> copy_from <- "c:/Temp/test/copy_from/"
> copy_to <- "c:/Temp/test/copy_to/"
> index <- read.csv ("c:/Temp/test/index.csv",header=T)
> index$filename <- as.character(index$filename) #need to convert field to character for susbstr to work
> index$name <- substr(index$filename,1,nchar(index$filename)-4) #now I have a new column with only the filename and not the extension
> index
             filename            name
1   voya_20140721.SID   voya_20140721
2   voya_20140801.SID   voya_20140801
3 voya_20140801_2.SID voya_20140801_2
> listfiles <- list.files (copy_from)
> listfiles
 [1] "voya_20140710.SID"         "voya_20140710.xml"         "voya_20140721.SID"         "voya_20140721.SID.aux.xml" "voya_20140721.xml"         "voya_20140801.SID"        
 [7] "voya_20140801.SID.aux.xml" "voya_20140801.xml"         "voya_20140801_2.SID"       "voya_20140801_2.xml"      
>库(stringr)
> 
>将_从copy_复制到索引$filename index$name index
文件名
1 voya_20140721.SID voya_20140721
2 voya_20140801.SID voya_20140801
3 voya_20140801_2.SID voya_20140801_2
>列表文件列表文件
[1] “voya_20140710.SID”“voya_20140710.xml”“voya_20140721.SID”“voya_20140721.SID.aux.xml”“voya_20140721.xml”“voya_20140801.SID”
[7] “voya_20140801.SID.aux.xml”“voya_20140801.xml”“voya_20140801_2.SID”“voya_20140801_2.xml”
这是一个数据框,标识了我想要复制的文件

index <- structure(list(filename = c("voya_20140721.SID", "voya_20140801.SID", 
"voya_20140801_2.SID"), name = c("voya_20140721", "voya_20140801", 
"voya_20140801_2")), .Names = c("filename", "name"), row.names = c(NA, 
-3L), class = "data.frame")

索引我不明白。为什么不直接运行
Map(file.copy,copy\u from\u vec,copy\u to\u vec)
。必须读入另一个文件才能找到要复制的文件是一种浪费。我想你可能不明白。我只想复制部分文件,而不是全部文件。例如,可能有400个文件,但我只想复制其中10个。