python - 如果原始文件中不存在 SPSS 变量,则使用 Python 合并它们

标签 python merge spss

我有一个 SPSS 文件,我正在从中删除不需要的变量,但如果它们不存在,我想从其他地方引入变量。所以,我正在寻找一些 Python 代码来进入我的语法,以说 - 保留列表中的所有变量,如果第一个文件中不存在任何这些变量,则将它们从第二个文件中合并。 (Python菜鸟在此..)

谢谢!

最佳答案

这是一种让您入门的方法:

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.

关于python - 如果原始文件中不存在 SPSS 变量,则使用 Python 合并它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39773328/

相关文章:

Python:如何检查是否可以使用可选参数?

python - 在 python 中迭代 xml 元素时缺少一些文本

git - 如何为单个文件创建分支?

python - 在Python中读取SPSS(.sav)文件时出现 "title already used as a name or title"错误

r - 如何在命令行上将 .dat + .sps 转换为 .sav

python - SPSS/Python - 访问变量标签

相当于 R groupby 变异的 Python pandas

python - 获取 pdb 中的最后一个异常

javascript - 如何将对象内部的属性合并为一个属性?

Javascript合并/减少相同的多维对象