/ / Przetwarzanie plików CSV z wielu folderów - perl

Analizowanie plików CSV z wielu folderów - perl

Mam folder zawierający wiele subfoldery i każdy podfolder zawiera różne typy plików i czasami zawiera plik o nazwie run.csv. Jednak plik CSV ma zawsze nazwę run.csv i składa się zawsze z id kolumn, pasa, indeksu i innych.

Wiem, jak parsować pliki CSV, ale nie mogłem figurowaćjak przejść przez podfoldery i wydrukować wszystkie kolumny id, lane i indeksu bez informacji nagłówka ze wszystkich plików CSV na końcu. W tym celu powinienem idealnie używać języka perl.

Odpowiedzi:

0 dla odpowiedzi № 1

Myślę, że chcesz glob:

foreach my $csv_file ( glob "/path/to/dir/*/run.csv" ) {
#process CSV.
}

Ale jest to możliwe File::Find::Rule:

foreach my $file ( File::Find::Rule -> name ("run.csv") -> in ( "/path/to/dir" ) ) {
print $file,"n";
}

Co robi to samo, ale rekurencyjnie. W obu przypadkach otrzymasz ścieżkę względną do bieżącego katalogu, więc możesz po prostu przekazać ją bezpośrednio do open.