我正在为我的研究做模拟,我得到输出多个CSV文件(取决于我设置的参数数量。)文件的名称是param1_param2 _...._ paramx.csv。所以最后我有大量的文件,我必须打开所有文件,获取数据并绘制曲线。
可以自动执行吗?我看到很多已发布的主题主题,实际上我没有找到如何解析多个文件,具体取决于它们的名称和内容。
有人可以指导我这样做吗?我从不写脚本,所以我正在寻找最简单的方法。哪种语言更好? shell,python,Perl ..?
答案 0 :(得分:1)
我也认为你必须尝试一些东西,然后从你的例子中特别提出。
无论如何,在Perl中你可以使用类似于:
的代码(易于理解)$folder = "foo";
opendir(DIR,$folder);
while ($file0 = readdir(DIR)) {
next if ($file0 !~ /^param/ and $file0 !~ /\.csv$/);
open($file1, "<", "$folder/$file");
open($file2, ">", "$folder/$file\/out");
while ($line = <$file1>) {
... ;
print $file2 ... ;
}
}
closedir(DIR);
简要地说:首先,您要打开包含要处理的文件的文件夹。然后,你拿每个文件(“while($ file0 = readdir(DIR))”),用读取权限打开它(“&lt;”),打开另一个文件具有写入权限(“&gt;”)以将输出保存在另一个文件中并获取原始文件的每一行(“while($ line =)”),处理它是你想要的(我建议你看看 regex ,你也在“next if”结构中使用)并打印结果到输出文件(“print $ file2 ...”)。最后,最后一件事是关闭你工作的原始文件夹。
即使问题不够具体,我希望它有所帮助。