如何使用proc导入到sas数据集中从外部制表符分隔文件中仅读取特定列

时间:2013-06-06 06:32:12

标签: sas

是否可以使用proc import将只读特定变量从文本文件读入sas作为sas数据集?我的文本文件中有非常大的数据,其中包含1000个观察值和超过42,000个变量。我尝试使用proc导入将此文件读入sas但我没有这样做,我认为可能是因为大小问题。现在我决定只读取特定的变量(列),我真的不需要这个大文本文件中的所有变量,以便我可以减少文件的大小以读入sas系统。是否有任何想法通过使用数据步骤这样阅读?建议或帮助将不胜感激

非常感谢你,

1 个答案:

答案 0 :(得分:1)

如果您正在讨论分隔文本文件,则可以读取特定变量,具体取决于它们是从第一个变量连续的。但是,您无法使用PROC IMPORT执行此操作;你必须自己编写datastep,尽管你可以想象有PROC IMPORT帮助你编写它。

例如,如果你有10个变量并且只想要前3个,那么你可以这样读它:

data want;
infile "mydata.txt" dlm=',' lrecl=255 missover dsd;
input x $ y $ z $;
run;

但是,您必须读入从第一个变量到您感兴趣的最后一个变量的所有变量,即使您对所有中间变量不感兴趣。您不能使用分隔的文本文件“跳过”它们。

如果你有一个固定宽度的文本文件,你可以读入你想要的任何列(但你不能使用PROC IMPORT来读取固定宽度的文本文件)。