2017-02-28 7 views
1

나는 두 개의 문자 변수가 모두 아포스트로피의 값을 가지고있는 텍스트 파일을 읽고있다. '는 쉼표로 분리되어있다. 아포스트로피가 값으로 사용되는 대신 쉼표를 마스킹하여 아포스트로피가 쉼표를 마스킹하므로 Di가이 값을 읽습니다.구분 기호를 마스킹하지 않고 구분 기호 사이에 작은 따옴표/아포스트로피의 2 가지 값을 읽는 방법은 무엇입니까?

기록의 예는

95,',',,,word 

처럼이 나에게 제공해야합니다 같습니다

가 대신
Var1 = 95 
    Var2 = ' 
    Var3 = ' 
    Var4 = . 
    Var5 = . 
    Var6 = word 

내가 얻을 :

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

무엇 인포 내가 사용 또는 옵션해야합니까 구분 기호 이외의 값을 쉼표로 설정해야합니까? (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