2017-02-28 59 views
1

我正在閱讀一個文本文件,其中2個字符變量都有一個撇號值,由di studio中的逗號分隔符分隔。 迪正在讀它,因爲撇號掩蓋了逗號,以逗號作爲值而不是撇號作爲值。如何讀取分隔符之間的單引號/撇號的2個值而不用屏蔽分隔符?

記錄的例子看起來像

95,',',,,word 

這應該給我:

Var1 = 95 
    Var2 = ' 
    Var3 = ' 
    Var4 = . 
    Var5 = . 
    Var6 = word 

相反,我得到:

Var1 = 95 
    Var2 = , 
    Var3 = . 
    Var4 = . 
    ... 

做什麼informats我需要使用或選項我需要設置分隔符以外的逗號嗎? (Di選項最好,但基礎SAS選項也會有幫助)。 在此先感謝。

+0

如果其中一個字符變量包含逗號,那麼文本文件的行爲如何? – user667489

回答

0

請使用infile語句中的dsd選項確保您是而不是。條件是所有的字符變量有史以來包含逗號,類似下面應該工作:

data want; 
infile cards dlm=',' missover; 
input var1 :8. (var2-var6) (:$4.); 
cards; 
95,',',,,word 
; 
run; 

如果你的文件的字符變量偶爾會包含逗號,他們中沒有報價,有可能是看沒有一致的方式你的文件。

+0

下午好,user667488,非常感謝您的回覆,我非常感謝。問題是一些其他變量在數據中真正具有單撇號。我試圖在沒有DSD的情況下這樣做,它會引起問題,因爲它們在連續分隔符時不會讀取缺失的值。非常感激。 –

+0

請更新您的問題,以便在您的數據中看到此方法無效的示例。 – user667489