不要な変数を削除するSPSSファイルがありますが、存在しない場合は別の場所に変数を持ち込みます。だから、私はいくつかのPythonコードを探しています。つまり、リストからすべての変数を保持し、いずれかが最初のファイルに存在しない場合は、2番目のファイルからそれらをマージします。 (Pythonのルーキー..)元のファイルにPythonを使用していない場合、SPSS変数をマージします。
ありがとう!
不要な変数を削除するSPSSファイルがありますが、存在しない場合は別の場所に変数を持ち込みます。だから、私はいくつかのPythonコードを探しています。つまり、リストからすべての変数を保持し、いずれかが最初のファイルに存在しない場合は、2番目のファイルからそれらをマージします。 (Pythonのルーキー..)元のファイルにPythonを使用していない場合、SPSS変数をマージします。
ありがとう!
ここであなたが始めるためにapporachです:
DATA LIST FREE/ID A B C D E.
BEGIN DATA
1 11 12 13 14 15
END DATA.
DATASET NAME DS1.
DATA LIST FREE/ID D E F G H.
BEGIN DATA
1 24 25 26 27 28
END DATA.
DATASET NAME DS2.
BEGIN PROGRAM PYTHON.
import spssaux, spss
spss.Submit("dataset activate ds1.")
ds1vars=[v.VariableName for v in spssaux.VariableDict()]
spss.Submit("dataset activate ds2.")
ds2vars=[v.VariableName for v in spssaux.VariableDict()]
extravars = [v for v in ds2vars if v not in ds1vars]
spss.Submit("""
DATASET ACTIVATE DS2.
ADD FILES FILE=* /KEEP=ID %s.
MATCH FILES FILE=DS1 /TABLE DS2 /BY ID.
DATASET NAME DS3.
DATASET ACTIVATE DS3.
""" % (" ".join(extravars)))
END PROGRAM PYTHON.
あなただけmatch files
かかわらず、変数が欠落しているものの、table
に存在し、file
には存在しない変数だけが追加されますfile
。
名前は同じで幅は異なる両方のファイルにテキスト変数がある場合は問題があります。