是否可以在Python for SPSS中创建数据对象

时间:2014-09-30 13:02:56

标签: spss python

我有一个python脚本,它将XML文件读入一个数组(我创建的CSV格式)。我希望能够直接使用该数据而不是保存到文件中。

这可能吗?所以它就像创建一个Var.File节点,但不是指向一个文件,而是取出我已经拉入的数据。

EG。 data [0] =" 1,A,B,C" #所有文件的单行。

1 个答案:

答案 0 :(得分:3)

简而言之,您可以将您的Python程序直接粘贴到SPSS语法文件中的BEGIN PROGRAMEND PROGRAM块之间。然后,您可以定义SPSS数据集,并使用Python代码块将案例附加到该数据集。

这有可能是好的,它可以逐行完成,因此理论上可以处理相当大的文件。即使使用微小的文件,它也应该比写入和读取csv文件更快。以下示例取自a blog post I wrote关于主题的内容:

BEGIN PROGRAM Python.
import spss

MyData = [(1,2,'A'),(4,5,'B'),(7,8,'C')] #make a list of lists for the data

spss.StartDataStep()                   #start the data setp
MyDatasetObj = spss.Dataset(name=None) #define the data object
MyDatasetObj.varlist.append('X1',0)    #add in 3 variables
MyDatasetObj.varlist.append('X2',0)
MyDatasetObj.varlist.append('X3',1)
for i in MyData:                       #add cases in a loop
  MyDatasetObj.cases.append(i)
spss.EndDataStep()
END PROGRAM.