Ich habe einen Ordner, der mehrere Unter enthältOrdner und jeder Unterordner enthält verschiedene Arten von Dateien und manchmal eine Datei namens run.csv. Die CSV-Datei heißt jedoch immer run.csv und besteht immer aus den Spalten id, lane, index und anderen.
Ich weiß, wie man CSV-Dateien analysiert, konnte es aber nicht herausfindenHier erfahren Sie, wie Sie die Unterordner durchlaufen und am Ende alle ID-, Lane- und Indexspalten ohne die Headerinformationen aus allen CSV-Dateien drucken. Dafür sollte ich im Idealfall die Perl-Sprache verwenden.
Antworten:
0 für die Antwort № 1Ich denke was du willst ist glob
:
foreach my $csv_file ( glob "/path/to/dir/*/run.csv" ) {
#process CSV.
}
Aber es ist möglich, dass Sie wollen File::Find::Rule
:
foreach my $file ( File::Find::Rule -> name ("run.csv") -> in ( "/path/to/dir" ) ) {
print $file,"n";
}
Was fast dasselbe tut, aber rekursiv. In beiden Fällen erhalten Sie einen relativen Pfad zum aktuellen Verzeichnis. Sie können ihn also direkt an übergeben open
.