【问题标题】:Move files into same name folder through R通过R将文件移动到同名文件夹
【发布时间】:2019-01-01 11:46:53
【问题描述】:

我有一个文件夹,其中包含不同的示例 csv 文件和同名文件夹:

files name:-
sample_190612.csv
sample_729924.csv  
sample_729794.csv 
sample_780414.csv
sample_780388.csv 
................
............
folders:-
sample_190612
sample_729924
sample_729794 
sample_780414
sample_780388
............
............... 

如何将这些文件移动到它的文件名文件夹中

预期输出:文件夹包含文件:-

  Folder:-     sample_190612 
  File:        sample_190612.csv


  Folder:-     sample_729924  
  file:        sample_729924 .csv


  Folder:-    sample_780414 
  file:       sample_780414.csv

【问题讨论】:

  • 输入文件的类型是什么?
  • 第二列是否表示不同目录中的现有文件?逗号表示单独的文件?
  • 不,这些是样本和基因

标签: r


【解决方案1】:

我不确定你到底想做什么。 但是下面的代码可以用逗号分隔字符串“AC###”(正如 Parfait 所要求的那样), 并使用第一列创建文件夹, 并使用“AC###”字符串保存文件。

dfFiles = data.frame(matrix(data = c(
  "sample_190612", "FSTL1",
  "sample_729924", "AC002072.1",
  "sample_729924", "AC002070.1,AC004812.1",
  "sample_729794", "ANKRD12,AP000897.1,AP005118.1,AP005227.1",
  "sample_780414", "AC002464.1,AIM1,AK9,AL021326.",
  "sample_780414", "AC002464.4",
  "sample_780414", "AIM2",
  "sample_780388",  "ATP10A,MIR4715"
), ncol = 2, byrow = TRUE  ), stringsAsFactors = FALSE)

colnames(dfFiles) = c("sample", "gene")
# dfFiles

lsSplit = strsplit(x = dfFiles$gene, split = ",")

# create a parent folder
myParent = "sampleParent"
if(!dir.exists(myParent)){dir.create(myParent)}

# create sub folders
for(ctSample in seq_len(nrow(dfFiles))){
  thisSample = dfFiles$sample[ctSample]
  thisPath = paste0(myParent, "/", thisSample)
  if(!dir.exists(thisPath)){dir.create(thisPath)}
  # save files
  for(ctSplit in seq_len(length(lsSplit[[ctSample]]))){
    thisSplit = lsSplit[[ctSample]][ctSplit]
    write.csv(x = 0, file = paste0(thisPath, "/", thisSplit, ".csv"))
  }
}

下面是结果图片。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2020-01-13
    • 2018-08-12
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    相关资源
    最近更新 更多