• ベストアンサー

複数のCSVファイルを一つのCSVファイルに

ディレクトリ内に複数あるCSVファイルを一つのCSVにまとめたいのですが、方法がわからないので教えて下さい。 ファイルの読み出しと追加書き込みを繰り返せば良いとは思っています。 ディレクトリ内のファイルを検索するところまでは出来ました。

質問者が選んだベストアンサー

  • ベストアンサー
  • masaboo
  • ベストアンサー率58% (7/12)
回答No.1

  my $path = "./data";  #csvのあるディレクトリ   opendir(DIR, $path) || die "Error!!";   my @dirs = grep /\.csv$/i, readdir(DIR);   closedir(DIR);   if(open(OUT,">./mix.csv")){     for my $fname (sort @dirs){       if(open(IN,"$path/$fname")){         my @lines = <IN>;         print OUT @lines;         close(IN);       }     }     close(OUT);   } #ファイルを順に読み込んで書き込んでいるだけです。テキトウに改造してみてください。 #動作確認はしてないです。 #または、perlから、OSのコピーコマンドを呼んでファイルを結合してもいいと思います。

関連するQ&A