我有多个该.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')";
}