Input 处理输入文件中缺少的值
我需要输入一个带有分隔符dlm=“*”的数据库,如下所示:Input 处理输入文件中缺少的值,input,sas,file-io,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 $
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;
它的工作原理如下:
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之后)
因此,该值被跳过,82被放在错误的位置,以下值也是如此。将DSD选项添加到infle语句中
或者,如果源文本文件中已包含列名,则可以仅使用proc import
proc import datafile="C:\Users\Gila\Desktop\StatOrdinL2020\artiste1.txt"
out=ProjSas.Artiste1 dbms=dlm;
delimiter='*';
getnames=yes;
run;