【发布时间】:2017-10-18 15:01:54
【问题描述】:
问题陈述:我有一个文本文件,我想使用 SAS INFILE 函数读取它。但是 SAS 没有给我正确的输出。
Text File:
Akash 18 19 20
Tejas 20 16
Shashank 16 20
Meera 18 20
我尝试过的代码:
DATA Arr;
INFILE "/folders/myfolders/personal/SAS_Array .txt" missover;
INPUT Name$ SAS DS R;
RUN;
PROC PRINT DATA=arr;
RUN;
虽然我得到的结果是:
Table of Contents
Obs Name SAS DS R
1 Akash 18 19 20
2 Tejas 20 16 .
3 Shashank16 20 .
4 Meera 18 20 .
这是不恰当的。那么代码有什么问题呢?我需要使用与文本文件中相同的标记序列来读取 SAS 中的文件。请帮忙。
预期结果:
Table of Contents
Obs Name SAS DS R
1 Akash 18 19 20
2 Tejas . 20 16
3 Shashank16 20 .
4 Meera 18 . 20
提前致谢。
【问题讨论】:
-
文本文件中的分隔符是什么?它们是制表符还是空格?如果您显示输出应该是什么也会有所帮助
-
文本文件以空格分隔。请检查我添加了预期输出的代码。
-
您在帖子中编辑了文本文件示例。现在它看起来真的不像是用空格分隔的,而是固定的宽度。对吗?
-
没有它的空格分隔文件,对不起,我在发布文本文件时犯了一个错误。
-
那么请正确发布示例文本文件。空格分隔意味着值由 a 空格字符分隔。在您的示例中,值由可变数量的空格字符分隔。那不是空格分隔的。此处发布的文件是固定宽度。如果值之间有看似随机的空格数但您的文本文件中没有缺失值,那么列表输入仍然可以使用。但是,如果值由可变数量的空格分隔并且缺少某些值,则无法判断缺少哪个值。
标签: sas