2016-04-07 18 views
1

私は、人の名前がコンマで区切られた列を持っています(例えば、すべて1セル)Ben Lee、Paul Loy、Boy Lim。それぞれの名前を別々の列に分けたいと思います。私はどうしますか? (SPSS構文で)。SPSSの文字列の抽出

+0

が現在char.indexとchar.substr、デビッドMarso、ないマルコなし大成功まだ – don

答えて

0
do repeat TXTname="Ben Lee" "Paul Loy" "Boy Lim"/VRname=BenLee PaulLoy BoyLim. 
compute VRname=index(OriginalColumnName, TXTname)>0. 
end repeat. 

より多くの名前がある場合は、代わりに標準の変数名を使用することを好む、代わりにラベルの実際の名前を追加できます:

do repeat TXTname="Ben Lee" "Paul Loy" "Boy Lim"/VRname=Name01 to Name03. 
compute VRname=index(OriginalColumnName, TXTname)>0. 
end repeat. 
variable labels 
Name01 "Ben Lee" 
Name02 "Paul Loy" 
Name03 "Boy Lim". 
1

は、潜在的な解決策(複数可)とthis threadを参照してください。すなわち、信用デイヴィッドMarsoとジョン・ペック:

* General Parser *. 
DATA LIST/X 1-80 (A). 
BEGIN DATA 11-0101-423-7384 
END DATA. 

VECTOR NUMS(10). 
COMPUTE #0=0. 
LOOP. 
COMPUTE #1=INDEX(X,'-'). 
COMPUTE #0=#0+1. 
IF #1>0 NUMS(#0)=NUMBER(SUBSTR(X,1,#1-1),F8). 
COMPUTE X=SUBSTR(X,#1+1). 
END LOOP IF #1=0. 
COMPUTE NUMS(#0)=NUMBER(X,F8). 
MATCH FILES FILE */DROP X. 
LIST. 

または代わりのpythonソリューション:

data list free /x(a13). 
begin data. 
1,13,5,6,99,8 
end data. 
dataset name data. 
begin program. 
def split(v): 
    return v.split(',') 
end program. 

spssinc trans result = v1 to v6 
/formula "split(x)". 
+0

で実験。 .. –