我需要输入带分隔符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放在错误的位置,以下值也是如此。
答案 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 importproc import datafile="C:\Users\Gila\Desktop\StatOrdinL2020\artiste1.txt"
out=ProjSas.Artiste1 dbms=dlm;
delimiter='*';
getnames=yes;
run;