2015-12-28 37 views
-3

我有一个包含多个子文件夹的文件夹,每个子文件夹包含不同类型的文件,有时还包含一个名为 run.csv的文件。但是,CSV文件始终命名为run.csv,并且始终包含列ID,通道,索引等。解析来自多个文件夹的CSV文件

我知道如何解析CSV文件,但无法弄清楚如何遍历子文件夹并打印所有的id,lane和index列,而不需要所有CSV文件的头信息。为此,我应该理想地使用perl语言。

+1

使用'File :: Find'? – TLP

回答

0

我想你想要的是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