在SAS中使用INFLE for txt文件时如何考虑空格?
我目前正在从一个.txt文件导入以下数据在SAS中使用INFLE for txt文件时如何考虑空格?,sas,Sas,我目前正在从一个.txt文件导入以下数据 George Washington 02/22/1732 12/14/1799 John Adams 10/19/1735 07/04/1826 Thomas Jefferson 04/13/1743 07/04/1826 James Madison 03/16/1751 06/28/1836 James Monroe 04/28/1758 07/04/1831 Andr
George Washington 02/22/1732 12/14/1799
John Adams 10/19/1735 07/04/1826
Thomas Jefferson 04/13/1743 07/04/1826
James Madison 03/16/1751 06/28/1836
James Monroe 04/28/1758 07/04/1831
Andrew Jackson 03/15/1767 06/08/1845
John Quincy Adams 07/11/1767 02/23/1848
William Henry Harrison 02/09/1773 04/04/1841
我正在使用以下代码:
data presidents;
infile "G:\DeadPresidents.txt";
input Name $23. Birth mmddyy10. Death mmddyy10.;
run;
这允许我正确读取姓名和出生日期,但不会读取死亡日期,因为SAS认为两个日期之间的空格是死亡变量的一部分。如果我改变
Birth mmddyy10.
到mmddyy11。
工作正常
有没有办法让SAS解释txt文件中分隔变量的空格?我希望能够使用mmddyy10,因为这是实际日期变量的长度 只需移动光标即可。相对运动
input Name $23. Birth mmddyy10. +1 Death mmddyy10.;
还是绝对的
input Name $23. @24 Birth mmddyy10. @35 Death mmddyy10.;
或者,如果您知道出生和死亡都不是空的,那么使用修改列表模式
input Name $23. Birth :mmddyy10. Death :mmddyy10.;
请注意,如果将信息分配给变量并使用列表模式输入,则无需指定信息的宽度,因为SAS将忽略该信息,并根据行上的数据调整其使用的宽度
input Name $1-23 Birth Death ;
informat birth death mmddyy. ;
你可以移动光标。相对运动
input Name $23. Birth mmddyy10. +1 Death mmddyy10.;
还是绝对的
input Name $23. @24 Birth mmddyy10. @35 Death mmddyy10.;
或者,如果您知道出生和死亡都不是空的,那么使用修改列表模式
input Name $23. Birth :mmddyy10. Death :mmddyy10.;
请注意,如果将信息分配给变量并使用列表模式输入,则无需指定信息的宽度,因为SAS将忽略该信息,并根据行上的数据调整其使用的宽度
input Name $1-23 Birth Death ;
informat birth death mmddyy. ;