Sas 读取逗号值

Sas 读取逗号值,sas,comma,Sas,Comma,如何在SAS中读取以下数据 Yellowstone ID/MT/WY 1872 * 4,065,493 Everglades FL 1934 * 1,398,800 Yosemite CA 1864 * 760,917 Great Smoky Mountains NC/TN 1926 * 520,269 Wolf Trap Farm VA 1966 *

如何在SAS中读取以下数据

Yellowstone           ID/MT/WY 1872 *  4,065,493
Everglades            FL 1934 *        1,398,800
Yosemite              CA 1864 *          760,917
Great Smoky Mountains NC/TN 1926 *       520,269
Wolf Trap Farm        VA 1966 *              130
对于最后一列,我只得到:

406549
1
.
520
.
代码:


你的问题是*后面的空格也被计算为数字,所以如果你有9个空格,数字是空的,8个空格你只得到第一个数字,依此类推

编辑:

谷歌搜索了一下,找到了更简单的解决方案。添加a&告诉sas忽略多个空格,因此

value & COMMA9.;
应该用最简单的方法解决这个问题,至少在测试程序中是这样

编辑结束

我能想到的最简单的解决方案是删除除*后面的空格外的所有空格,或者添加另一个分隔符(#例如),或者增加值的大小:

 Yellowstone           ID/MT/WY 1872 * 4,065,493
 Everglades            FL 1934 * 1,398,800


你的问题是*后面的空格也被计算为数字,所以如果你有9个空格,数字是空的,8个空格你只得到第一个数字,依此类推

编辑:

谷歌搜索了一下,找到了更简单的解决方案。添加a&告诉sas忽略多个空格,因此

value & COMMA9.;
应该用最简单的方法解决这个问题,至少在测试程序中是这样

编辑结束

我能想到的最简单的解决方案是删除除*后面的空格外的所有空格,或者添加另一个分隔符(#例如),或者增加值的大小:

 Yellowstone           ID/MT/WY 1872 * 4,065,493
 Everglades            FL 1934 * 1,398,800


我不能修改源文件,所以只有last对我有效。如果我在这些数字后面有另一个变量呢?@PNPTestovir:据我所知,这应该没有问题,因为第一个空格总是用作分隔符,所以空格之间的所有内容都会被识别为变量。另一个选项是对填充文件进行压缩,这将删除多个空格,并将它们减少为一个。@PNPTestovir:找到了另一个处理测试数据的解决方案,将其添加到我的答案中,也许这对您的情况更有效。我无法修改源文件,所以只有最后一个对我有效。如果我在这些数字后面有另一个变量呢?@PNPTestovir:据我所知,这应该没有问题,因为第一个空格总是用作分隔符,所以空格之间的所有内容都会被识别为变量。另一种选择是对内嵌进行压缩,这将删除多个空格并将其减少为一个。@PNPTestovir:找到了另一种处理测试数据的解决方案,将其添加到我的答案中,也许这更适合您的情况。
value COMMA20.;