我目前只是从.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
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.
到Birth mmddyy11.
它运行正常。
有没有办法让SAS帐户用于分隔txt文件中的变量的空间?我希望能够使用mmddyy10,因为它是实际日期变量的长度。
答案 0 :(得分:3)
你可以移动光标。相对运动
input Name $23. Birth mmddyy10. +1 Death mmddyy10.;
或绝对
input Name $23. @24 Birth mmddyy10. @35 Death mmddyy10.;
或者如果你知道BIRTH和DEATH都不是空白,那么使用修改后的列表模式
input Name $23. Birth :mmddyy10. Death :mmddyy10.;
请注意,如果将INFORMAT分配给变量并使用列表模式输入,则无需指定信息的宽度,因为SAS无论如何都会忽略它,并将其使用的宽度调整为行上的数据。 / p>
input Name $1-23 Birth Death ;
informat birth death mmddyy. ;