【问题标题】:Get a data frame of file names in a folder with R用R获取文件夹中文件名的数据框
【发布时间】:2019-04-17 01:38:27
【问题描述】:

假设我有一个名为“Muffins”的文件夹,其中包含许多不同的松饼食谱(例如香蕉、蓝莓等),每个都在一个独立的文件中。我想获取“Muffins”文件夹中的所有文件名。

我的预期输出是包含两列的 data.frame:第 1 列 = muffins(文件夹名称),第 2 列 = 单个文件名。

      Food     Recipe
      Muffins  Banana
      Muffins  Blueberry
      Muffins  Chocolate
      etc.     etc.

我认为这可以通过一个简单的 for 循环来实现,但我还没有找到让它工作的方法。

【问题讨论】:

  • 如果你提供了一个可重现的例子,回答这个问题会更容易......我不确定我是否理解你的数据结构......
  • 这里的答案可能会有所帮助...stackoverflow.com/questions/45576588/… list.dirs() 和 list.files() 会在这里为您提供帮助。

标签: r for-loop


【解决方案1】:

我正在使用 linux,所以如果你在 Windows 中,你可能需要稍微调整一下这个答案:

正如@Elin 在 cmets 中指出的那样,list.files() 是您的朋友。请阅读它的帮助文件。我们还将使用read.table 函数将list.files 返回的字符串拆分为文件夹和文件列:

read.table(text = list.files("folder", 
                             include.dirs= FALSE, 
                             full.names=TRUE), 
           sep = "/")

代码的作用: read.table 在找到“/”时读取一个向量并分隔列。 list.files 搜索"folder",返回full.names,即文件夹名称后面的文件名,如路径中,而不是include.dirs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多