0

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

非常感谢你,

4

1 回答 1

1

如果您谈论的是分隔文本文件,则可以读取特定变量,具体取决于它们与第一个变量是否连续。但是,您不能使用 PROC IMPORT 来执行此操作;您必须自己编写数据步骤,尽管可以想象 PROC IMPORT 可以帮助您编写它。

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

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

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

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

于 2013-06-06T14:15:01.243 回答