2016-09-21 38 views
1

我试图将一些dat文件(逗号分隔)导入SAS大学。但是,一个变量包含特殊字符(例如法语口音)。大部分被替换为but,但也有一些观察有一些问题。一个问题的具有特殊字符的SAS输入数据

实施例:

在数据的原始观察看起来像这样:

Crème Brûlée,105,280 

运行下面的命令:

DATA BenAndJerrys; 
    INFILE '/folders/myfolders/HW3/BenAndJerrys.dat' DLM = ',' DSD MISSOVER; 
    INPUT flavor_name :$48. portion_size calories; 
RUN; 

它有这样的问题:

flavor_name=Cr�me Br�l�e,105 portion_size=280 calories= 

,因为您可以看到值为105的part_size的值与flavor_name的值合并,卡路里的值280被分配给part_size。

如何解决这个问题,并允许SAS导入具有特殊字符的数据?

回答

2

尝试告诉SAS在读取文件时使用什么编码。

我复制并使用Windows NOTEPAD编辑器将您的示例行保存到文本文件中。

%let path=C:\Downloads ; 
data _null_; 
    infile "&path\test.txt" dsd encoding=wlatin1; 
    length x1-x3 $50 ; 
    input x1-x3; 
    put (_all_) (=); 
run; 

结果在日志中。

x1=Crème Brûlée x2=105 x3=280 
NOTE: 1 record was read from the infile "C:\Downloads\test.txt". 
     The minimum record length was 20. 
     The maximum record length was 20.