.XPTファイルを.CSVファイルに変換

.XPTファイルを.CSVファイルに変換

.XPTこの形式のファイルは複数あります。私はそれらをすべてフォーマットに変換したいと思います.CSV。現在、端末に次の行を入力してファイルを変換しています。

R 

library('foreign') 

data=read.xport("~/Downloads/[filename].XPT") 

write.csv(data, file ="~/Downloads/[filename].csv")

同じ拡張子を持つ複数のファイルを同時に変換する方法はありますか?

ありがとう

答え1

Rまたはシェルスクリプトでこれを行うより簡単な方法があるかもしれませんが、Perlでは簡単に実行できます。ただテキストファイル(名前:foo.pl)に挿入して、「perl foo.pl」として実行してください。

my @files = sort glob("~/Downloads/*.XPT");
foreach my $file (@files)
   {
   ( my $csvfile = $file ) =~ s/\.XPT/\.csv/g;
   system "R;library('foreign');data=read.xport('~/Downloads/$file');write.csv(data, file ='~/Downloads/$csvfile')";
   }

関連情報