2016-09-21 98 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.