在SAS(9.4,如果重要)中,我想通过SFTP从远程主机获取CSV文件,解析CSV,并将结果放入SAS数据表。
我使用PuTTY设置SFTP,如SAS文档中所述。将fileref绑定到SFTP可以正常工作,例如:
FILENAME mysftpfileref SFTP 'location/on/host/file.csv' HOST='myhost' USER='mysuser';
DATA _null_;
INFILE mysftpfileref TRUNCOVER;
INPUT a $25.;
RUN;
将成功读取数据。
但是,我似乎无法使用PROC IMPORT
来实际解析数据。该proc状态的文档
" IMPORT过程不支持设备类型或访问方法 对于除DISK之外的FILENAME语句。例如,IMPORT 过程不支持TEMP设备类型,这会创建一个 临时外部文件。"
有解决方法吗?
答案 0 :(得分:2)
您需要:
PROC IMPORT
如果您选择第二个选项,则可以通过以下几种方式执行此操作。最简单的可能是编写类似于上面的数据步骤,读取整行或使用_INFILE_
自动变量,然后在本地写出来。沿着这些方向的东西(定义这些文件名或当然改变它们):
data _null_;
infile Sftpfile;
file localf;
input @;
put _infile_;
run;