我有一些.sav文件,我想检查坏数据。我所说的坏数据与问题无关。我用python编写了一个脚本,使用spss模块检查案例,如果不好,就删除它们。我在datastep中通过定义一个dataset对象,然后获取它的case列表来实现这一点。然后我使用del datasetObj.cases[k]
删除数据步骤中有问题的案例。在
我的问题是:
假设我有一个数据集食品安全它是spss中的活动数据集,然后我可以运行类似于:
^{pr2}$
在spss客户端中,它将从数据集中删除案例k食品安全. 但是,如果我使用食品安全作为工作目录:import os, spss
pathname = os.curdir()
foopathname = os.path.join(pathname, 'foo.sav')
spss.Submit("""
GET FILE='%(foopathname)s'.
DATASET NAME file1.
DATASET ACTIVATE file1.
""" %locals())
spss.StartDataStep()
datasetObj = spss.Dataset()
caselist = datasetObj.cases
del caselist[3]
spss.EndDataStep()
从命令行中,它不会删除大小写k。获取值的类似代码可以正常工作。E、 gprint caselist[3]
将打印事例k(当它在数据步骤中时)。我甚至可以更改一个案例的不同条目的值。但它不会删除案例。有什么想法吗?在
我是python和spss的新手,所以可能有一些我看不到的东西,而这些东西对其他人来说是显而易见的;因此,我为什么要问这个问题。在