无法导入导出的csv SAS表
我将我的SAS表以csv文件的形式导出到另一个文件夹中,以便与另一个程序一起使用,代码如下:无法导入导出的csv SAS表,csv,sas,Csv,Sas,我将我的SAS表以csv文件的形式导出到另一个文件夹中,以便与另一个程序一起使用,代码如下: PROC EXPORT data=CA_ISO_policyBYpolicy_&thestate. outfile="&whichfolder.CA_ISO_policyBYpolicy_&thestate..csv" dbms=dlm replace; delimiter=","; run; 使用不同文件夹中的不同程序,我试图通过以下代码导入数据: LIBNAME Home
PROC EXPORT data=CA_ISO_policyBYpolicy_&thestate.
outfile="&whichfolder.CA_ISO_policyBYpolicy_&thestate..csv"
dbms=dlm replace;
delimiter=",";
run;
使用不同文件夹中的不同程序,我试图通过以下代码导入数据:
LIBNAME Home "/sasdata/sasperm2/act_cfr/fr/SJR/AmFam_vs_ISO_Compare/" ;
%let Filepath = /sasdata/sasperm2/act_cfr/fr/SJR/AmFam_vs_ISO_Compare/;
%sdwlogin;
RUN;
%let thestate = OR;
%let policyyr = 2012;
/*---- ISO_Compare ----*/
data Work.CA_ISO_policyBYpolicy_&thestate.;
length Policy $10.;
infile "&Filepath/CA_ISO_policyBYpolicy_&thestate..csv" DELIMITER=',' TERMSTR=CRLF LRECL=2500 FIRSTOBS=2 MISSOVER DSD;
input Policy;
run;
程序运行,但我没有得到任何数据。我缩短了变量列表以使代码更易于阅读。当我手动将数据复制并重新粘贴到不同的csv文件中,并将其重新命名为相同的“CA_ISO_policyBYpolicy_或.csv”时,它在我的程序中起作用。我合并此代码的最初原因是为了摆脱手动过程。。。因此,如果有人有任何提示,我将非常感谢。正如Joe在评论中建议的那样,除非您出于其他原因需要csv文件,否则最好为此创建一个SAS数据库 另一种方法是
proc-import
它与您使用的proc-export
几乎相同:
proc import datafile=“&Filepath./CA_ISO_policy by policy_&thestate..csv”
out=Work.CA_ISO_policy by policy_状态。dbms=dlm替换;
分隔符=“,”;
getnames=yes*这将从第一行创建变量名;
*与proc export所做的相反;
跑
我能想到的另一件事是:
%let Filepath=/sasdata/sasperm2/act\u cfr/fr/SJR/AmFam\u vs\u ISO\u Compare/;
可能会因为以下原因导致问题,请尝试:
%let Filepath=%str(/sasdata/sasperm2/act\u cfr/fr/SJR/AmFam\u vs\u ISO\u Compare/);
此外,sasdata目录实际上是否存在于根目录上,还是sas程序所在的当前目录的子目录?如果是当前目录,则需要丢失初始正斜杠(或在其前面加一个“.”):
%let Filepath=%str(./sasdata/sasperm2/act\u cfr/fr/SJR/AmFam\u vs\u ISO\u Compare/);
您为什么要往返CSV?为什么不将SAS数据集保存到永久库中?您最初是使用CRLF创建csv文件的吗?事实上,在保存它之后它就可以工作了(我猜是在excel中?),这似乎指向了这个方向。换句话说,第一个程序是否运行在linux系统上?那么在导入时您不想使用TERMSTR=CRLF
选项我需要csv文件进行图形分析,因为我还没有擅长在SAS中绘制图形。我对PROC IMPORT命令的格式设置不正确,所以这太棒了!