如何使用SAS读取长文本记录和短文本记录?
how to read text records long and short using SAS?
一段有10条记录的文本需要读取并保存为table,下面是我试过的:
我将记录分成 3 个部分 x1、x2、x3,但 x3 有问题:
data a;
input x1 -11 x2 -14 x3 -100;
cards;
Major Group 01: Agricultural Production Crops
Major Group 02: Agriculture Production Livestock And Animal Specialties
Major Group 07: Agricultural Services
Major Group 08: Forestry
Major Group 09: Fishing, Hunting, And Trapping
Major Group 10: Metal Mining
Major Group 37: Transportation Equipment
Major Group 38: Measuring, Analyzing, And Controlling Instruments, Photographic, Medical And
Optical Goods, Watches And Clocks
Major Group 39: Miscellaneous Manufacturing Industries
Major Group 40: Railroad Transportation
;
run;
x3的结果被截断了,想知道如何正确读取记录才能保留所有10条记录而不遗漏任何一个字母。
谢谢!
- 不要使用固定宽度格式,使用以冒号作为分隔符的分隔方法
- 指定变量的长度
data a;
length x1 x2 0.;
infile cards dlm=':' truncover;
input x1 x2;
*separate group type and number into two different variables;
GroupNum = input(compress(x1, , 'kd'), 8.);
GroupType = compress(x1, , 'd');
cards;
Major Group 01: Agricultural Production Crops
Major Group 02: Agriculture Production Livestock And Animal Specialties
Major Group 07: Agricultural Services
Major Group 08: Forestry
Major Group 09: Fishing, Hunting, And Trapping
Major Group 10: Metal Mining
Major Group 37: Transportation Equipment
Major Group 38: Measuring, Analyzing, And Controlling Instruments, Photographic, Medical And Optical Goods, Watches And Clocks
Major Group 39: Miscellaneous Manufacturing Industries
Major Group 40: Railroad Transportation
;
run;
一段有10条记录的文本需要读取并保存为table,下面是我试过的: 我将记录分成 3 个部分 x1、x2、x3,但 x3 有问题:
data a;
input x1 -11 x2 -14 x3 -100;
cards;
Major Group 01: Agricultural Production Crops
Major Group 02: Agriculture Production Livestock And Animal Specialties
Major Group 07: Agricultural Services
Major Group 08: Forestry
Major Group 09: Fishing, Hunting, And Trapping
Major Group 10: Metal Mining
Major Group 37: Transportation Equipment
Major Group 38: Measuring, Analyzing, And Controlling Instruments, Photographic, Medical And
Optical Goods, Watches And Clocks
Major Group 39: Miscellaneous Manufacturing Industries
Major Group 40: Railroad Transportation
;
run;
x3的结果被截断了,想知道如何正确读取记录才能保留所有10条记录而不遗漏任何一个字母。 谢谢!
- 不要使用固定宽度格式,使用以冒号作为分隔符的分隔方法
- 指定变量的长度
data a;
length x1 x2 0.;
infile cards dlm=':' truncover;
input x1 x2;
*separate group type and number into two different variables;
GroupNum = input(compress(x1, , 'kd'), 8.);
GroupType = compress(x1, , 'd');
cards;
Major Group 01: Agricultural Production Crops
Major Group 02: Agriculture Production Livestock And Animal Specialties
Major Group 07: Agricultural Services
Major Group 08: Forestry
Major Group 09: Fishing, Hunting, And Trapping
Major Group 10: Metal Mining
Major Group 37: Transportation Equipment
Major Group 38: Measuring, Analyzing, And Controlling Instruments, Photographic, Medical And Optical Goods, Watches And Clocks
Major Group 39: Miscellaneous Manufacturing Industries
Major Group 40: Railroad Transportation
;
run;