我已经创建了一个简单的data.tree
通过导入文件夹结构中的文件。现在计算复杂文件夹结构中每个文件夹的文件数量?
if (!require("pacman")) install.packages("pacman")
pacman::p_load_gh("trinker/pathr")
library(pathr)
library(data.tree)
folder_structure <- pathr::tree(path = "/Users/username/Downloads/top_level/",
use.data.tree = T, include.files = T)
,我想对象folder_structure
转换为data.frame
,每个文件夹一行,并指定每个文件夹包含多少文件的列。我怎样才能做到这一点?
例如,我有这个非常简单的文件夹结构:
top_level_folder
sub_folder_1
file1.txt
sub_folder_2
file2.txt
回答这个问题会涉及创建输出看起来像这样:
Folders Files
top_level_folder 0
sub_folder_1 1
sub_folder_2 1
第一列可以简单地通过生成调用list.dirs("/Users/username/Downloads/top_level/")
,但我不知道如何生成第二列。请注意,第二列是非递归的,这意味着子文件夹内的文件不计算在内(即top_level_folder
包含0
文件,即使top_level_folder
的子文件夹包含2个文件)。
如果您想了解您的解决方案是否可缩放,请下载Rails代码库:https://github.com/rails/rails/archive/master.zip并尝试使用Rails更复杂的文件结构。
我在哪里可以得到'pathr'软件包? – Jimbou
@Jimbou:https://github.com/trinker/pathr – histelheim
您能否澄清'sub_folder_1'是否指向同一个文件夹?即是一个文件夹有两个文件,还是两个文件夹---具有相同的名称,这将无法正常工作---因此应该是'sub_folder_1'和'sub_folder_2'? – Felix