-3
我有一個包含多個子文件夾的文件夾,每個子文件夾包含不同類型的文件,有時還包含一個名爲 run.csv的文件。但是,CSV文件始終命名爲run.csv,並且始終包含列ID,通道,索引等。解析來自多個文件夾的CSV文件
我知道如何解析CSV文件,但無法弄清楚如何遍歷子文件夾並打印所有的id,lane和index列,而不需要所有CSV文件的頭信息。爲此,我應該理想地使用perl語言。
我有一個包含多個子文件夾的文件夾,每個子文件夾包含不同類型的文件,有時還包含一個名爲 run.csv的文件。但是,CSV文件始終命名爲run.csv,並且始終包含列ID,通道,索引等。解析來自多個文件夾的CSV文件
我知道如何解析CSV文件,但無法弄清楚如何遍歷子文件夾並打印所有的id,lane和index列,而不需要所有CSV文件的頭信息。爲此,我應該理想地使用perl語言。
我想你想要的是glob
:
foreach my $csv_file (glob "/path/to/dir/*/run.csv") {
#process CSV.
}
但它可能你想File::Find::Rule
:
foreach my $file (File::Find::Rule -> name ('run.csv') -> in ("/path/to/dir")) {
print $file,"\n";
}
這的確大同小異,但遞歸。在這兩種情況下,您都會獲得當前目錄的相對路徑,因此可以直接將它傳遞給open
。
使用'File :: Find'? – TLP