2017-02-28 17 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

相关问题