处理缺失值输入文件

时间:2011-12-06 16:43:41

标签: input sas file-io

我需要输入带分隔符dlm =“*”的数据库,如下所示:

Abatucci Pierre*Derniers rayons*1200*1*55*84*5
Abatucci Pierre*L'entrée au château*1000*1*75*91

它的效果很好:

Data  ProjSas.Artiste1;
Infile "C:\Users\Gila\Desktop\StatOrdinL2020\artiste1.txt" dlm="*";
    LENGTH Artiste $ 25 titre $30;                  
Input Artiste $ Titre  Prix  Deces  Hauteur   Largeur  Medium;
      Run;

但是在某些条目中我缺少像这样的值......(在7000之后)

Beauquesne Wilfrid*Combat d'escorte dans les rues de Verdun*7000**82*100*5

以便跳过该值并将82放在错误的位置,以下值也是如此。

2 个答案:

答案 0 :(得分:2)

将DSD选项添加到INFILE语句(How do I read a delimited file in SAS?)

Infile "C:\Users\Gila\Desktop\StatOrdinL2020\artiste1.txt" dlm="*" DSD;

答案 1 :(得分:1)

如果您已在源文本文件中包含列名

,则可以使用proc import
proc import datafile="C:\Users\Gila\Desktop\StatOrdinL2020\artiste1.txt"
 out=ProjSas.Artiste1 dbms=dlm;
 delimiter='*';
 getnames=yes;
  run;