我已經創建了一個簡單的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