我的csv文件sales.csv有8个变量
Employee_ID,First_Name,Last_Name,Gender,Salary,Job_Title,country和Emp_Hire_Date
我的代码是这样的:
%let path = /folders/myfolders/ecprg193;
data work.sales1;
infile "&path/sales.csv" dlm=',';
input Employee_ID First_Name $
Last_Name $ Gender $ Salary
Job_Title $ Country $;
run;
它基本上是从csv文件创建数据集sales1。
在你可以看到的代码中,我已指定直到country变量。 我的问题是在创建数据集时工作.sales1如何跳过CSV中的hiredate数据?
如果需要更多信息来回答这个问题,请告诉我。
答案 0 :(得分:0)
根据您的描述,您的文件每行有8个字段,而您的程序每行只读取7个变量。所以它会跳过最后一个字段,因为你从未读过它。
默认情况下,SAS会期望由操作系统的正常行尾字符分隔的可变长度记录。从您的路径看,您在Unix上运行SAS,因此默认的行尾将只是换行符('0A'x)。如果你在PC上创建了文件,那么很可能它实际上是使用回车符和换行符两个字节序列('0D0A'x)作为行尾创建的。您可以通过在TERMSTR=
语句中添加INFILE
选项来告诉SAS使用哪一个。如果您正在Unix上阅读PC / Windows文件,请添加termstr=CRLF
。