无法导入导出的csv SAS表

无法导入导出的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

我将我的SAS表以csv文件的形式导出到另一个文件夹中,以便与另一个程序一起使用,代码如下:

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命令的格式设置不正确,所以这太棒了!