从多个文件夹中解析CSV文件

时间:2015-12-28 15:51:02

标签: perl

我有一个包含多个子文件夹的文件夹,每个子文件夹包含不同类型的文件,有时包含一个名为的文件 run.csv。但是,CSV文件始终命名为run.csv,并且始终包含列id,lane,index等。

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

1 个答案:

答案 0 :(得分: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