将文本文件导入 SAS:没有前导零的日期
Importing text file into SAS: Date without the leading zeros
我正在尝试将文本数据文件导入 SAS。是这样的,
EmployeeID Birthday Gender
10001 5/1/1978 Female
10005 9/16/1982 Male
...
这是我的代码,
data employee;
infile "employee2015.txt" delimiter=' ' firstobs=2;
input employeeid birthday MMDDYY10. gender $;
run;
它不起作用,因为日期的长度不固定,所以下一个变量 Gender 会受到影响(会出现 "emale" 之类的东西)。如果我将其更改为 MMDDYY8。性别栏会出现一些数字。
我试过将生日导入为 char,它看起来不错,但是当我尝试将其格式化为 mmddyy10 时。会有报错。而且我相信一定有一些直接的方法可以做到这一点,所以我在这里寻求帮助...
任何建议将不胜感激。
删除您的定界符规范并创建一个信息格式语句来正确读取数据。您可能需要自定义 informat 语句以满足您的实际数据需求。
data want;
informat employeeid . birthday mmddyy10. gender .;
format birthday date9.;
input EmployeeID $ Birthday Gender $;
cards;
10001 5/1/1978 Female
10005 9/16/1982 Male
;
run;
proc print;run;
我正在尝试将文本数据文件导入 SAS。是这样的,
EmployeeID Birthday Gender
10001 5/1/1978 Female
10005 9/16/1982 Male
...
这是我的代码,
data employee;
infile "employee2015.txt" delimiter=' ' firstobs=2;
input employeeid birthday MMDDYY10. gender $;
run;
它不起作用,因为日期的长度不固定,所以下一个变量 Gender 会受到影响(会出现 "emale" 之类的东西)。如果我将其更改为 MMDDYY8。性别栏会出现一些数字。
我试过将生日导入为 char,它看起来不错,但是当我尝试将其格式化为 mmddyy10 时。会有报错。而且我相信一定有一些直接的方法可以做到这一点,所以我在这里寻求帮助...
任何建议将不胜感激。
删除您的定界符规范并创建一个信息格式语句来正确读取数据。您可能需要自定义 informat 语句以满足您的实际数据需求。
data want;
informat employeeid . birthday mmddyy10. gender .;
format birthday date9.;
input EmployeeID $ Birthday Gender $;
cards;
10001 5/1/1978 Female
10005 9/16/1982 Male
;
run;
proc print;run;