将 .XPT 文件转换为 .CSV 文件

将 .XPT 文件转换为 .CSV 文件

我有多个该.XPT格式的文件。我想将它们全部转换为格式.CSV。我目前正在通过在终端中键入以下几行来转换一个文件。

R 

library('foreign') 

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

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

有没有办法同时转换具有相同扩展名的多个文件?

谢谢

答案1

可能有一种更简单的方法可以在 R 中或作为 shell 脚本来完成此操作,但您可以使用 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')";
   }

相关内容