【问题标题】:Cannot import text delimited file with unusual characters in SAS无法在 SAS 中导入带有异常字符的文本分隔文件
【发布时间】:2014-04-04 11:46:00
【问题描述】:

您好,我正在尝试在 SAS 中导入一个制表符分隔的文件,如下所示,

Names   Points
Sumit1  10
Sumit2  20
SUmit4  30
SUmit5  85
SUmit6  90
SUmit7  39
hfgö®q-±òSÀ®téîÓVU«‘îj'n5E•d÷Yb#­AK$®Sކÿ-ÍKÕw¿óå0"¤h—t0Ld        89
SUmit8  48
SUmit9  70
SUmit10 20
SUmit11 90

第一行代表列名。

我正在使用以下代码导入文件,

data names;
infile "C:xxxxxxxx\names.txt" 
delimiter='09'x MISSOVER DSD lrecl=32767 firstobs=2;
informat names $150.;
informat Points best32.;
format names $150.;
format Points best12.;
input names $
Points;
run;

导入后的sas数据集如下:

Names                                                     Points
Sumit1                                                  10
Sumit2                                                  20
SUmit4                                                  30
SUmit5                                                  85
SUmit6                                                  90
SUmit7                                                      39
hfgö®q-±òSÀ®téîÓVU«‘îj'n5E•d÷Yb#­AK$®Sކÿ-ÍKÕw¿óå0"¤h—t0Ld             .

所以基本上所有的行都没有被导入到 sas 中,它在第 7 行停止,因为存在一些不寻常的字符 (我不知道这个字符叫什么)。

我需要导入 1000 个这样的文件。所以我使用宏来导入文件。 有人可以帮助我如何在 SAS 中导入此类文件。

【问题讨论】:

  • 您能在日志中列出任何错误、警告或注释吗?

标签: sas


【解决方案1】:

试试这个代码....

DATA names;
LENGTH Names $ 91 Points 8 ;
FORMAT Names  $CHAR91. Points  BEST2. ;
INFORMAT Names  $CHAR91. Points           BEST2. ;
INFILE 'C:xxxxxxxx\names.txt'
LRECL=32767 ENCODING="LATIN1" TERMSTR=CRLF DLM='7F'x MISSOVER DSD ;
INPUT Names : $CHAR91. Points : ?? BEST2. ;
RUN;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    相关资源
    最近更新 更多