我想从网上下载一个zip文件并解压缩并将该文件导入sas数据集以供进一步使用。
对于解压缩,我使用下面的sas代码..但结果没有任何错误。
data _null_;
x "cd C:\Program Files\7-Zip ";
X "7z.exe e C:\Users\Ravinder\Downloads\Compressed\*.zip -o C:\sasdata\New";
run;
请帮忙做同样的事。
ravinder kumar答案 0 :(得分:0)
您是否尝试过从命令提示符运行命令?它有用吗?我建议像这样运行命令,而不是先更改文件夹:
"C:\Program Files\7-Zip\7z.exe" e C:\Users\Ravinder\Downloads\Compressed\*.zip -o C:\sasdata\New
当您从SAS运行上述命令时,使用单引号作为命令的字符串分隔符,如下所示:
data _null_;
X '"C:\Program Files\7-Zip\7z.exe" e C:\Users\Ravinder\Downloads\Compressed\*.zip -o C:\sasdata\New';
run;
如果它仍然无法按预期工作,那么调试IMO的最简单方法是将命令放在批处理文件(.bat)中,然后在文件末尾添加一行简单地说{ {1}}。 pause命令将告诉窗口保持批处理文件窗口打开,直到您关闭它。该窗口将让您完全了解运行命令时发生的情况。尝试从SAS运行批处理文件,而不是直接运行命令。
请注意,如果您希望SAS在SAS程序继续处理之前等待解压缩完成,您可能还需要指定以下SAS选项:
选项noxwait xsync;
pause
告诉SAS在命令运行后自动关闭命令窗口,noxwait
告诉SAS在继续处理之前等待命令完成运行。请注意,有时在提取文件时,命令可以完成,但由于网络复制和/或缓存,文件仍然不会存在于磁盘上。如果你想绝对肯定,你应该检查文件是否存在和/或告诉sas xsync
一段时间。
答案 1 :(得分:0)
这是我的问题解决方案..文件下载到c:\ sasdata位置。
data _null_;
x "cd c:\sasdata";
x "curl -A 'Mozilla/4.0' -O http://nseindia.com/content/indices/histdata/CNX%20NIFTY&FRNAME-&FRNAME..csv";
run;