我想在SAS中导入.txt文件。
这看起来像我的数据:
annee manufacturier modele categorie cylindree cylindres transmission ville ...
2016 Ford Focus 1 1.8 5 Manual 10.1
2016 Toyota Tercel 3 1.4 3 Auto 7.1
这是我的代码
data car;
infile "C:\Users\Mark\Desktop\sas\car.txt"
LRECL=10000000 DLM=" " firstobs=2 ;
input
annee manufacturier modele categorie cylindree cylindres transmission type ville route combine emissiond indice
;
run;
但是,当我运行它时,我有很多" ......的数据无效;"然后我在SAS的表格中得到的数据非常少,而且很多都缺失了。
有些变量是数字,有些是字符。我觉得问题就在那里。
如何导入该类型的文件? 谢谢
答案 0 :(得分:0)
文本文件没有任何内部数据类型。一切都是个性,直到您明确告诉SAS您的列的数据类型。此外,有时您需要告诉SAS您的数据的输入格式或信息。
有时SAS很聪明,可以正确猜测:您的数据信息。例如,如果删除informat语句,以下代码将生成相同的结果。但是,对于说日期而言,情况并非如此。通常,明确指定信息是最佳做法。
如果您的数据是分隔的,例如CSV,则可以使用PROC IMPORT导入数据。使用PROC IMPORT,SAS将根据列的内容(如Excel导入文本数据时的数据类型)对数据类型进行最佳猜测。
以下代码将导入您指定的数据:
filename temp temp;
data _null_;
infile datalines;
file temp;
input;
put _infile_;
datalines;
annee manufacturier modele categorie cylindree cylindres transmission ville
2016 Ford Focus 1 1.8 5 Manual 10.1
2016 Toyota Tercel 3 1.4 3 Auto 7.1
run;
data want;
infile temp firstobs=2;
length
annee 8
manufacturier $20
modele $20
categorie 8
cylindree 8
cylindres 8
transmission $20
ville 8
;
informat
cylindree 8.1
ville 8.1
;
input
annee
manufacturier
modele
categorie
cylindree
cylindres
transmission
ville
;
run;
如果您的数据包含空格,例如manufacturier = Mercedes Benz,那么您还需要为该列使用信息(例如$ char20。)。