我有一个python脚本,它将XML文件读入一个数组(我创建的CSV格式)。我希望能够直接使用该数据而不是保存到文件中。
这可能吗?所以它就像创建一个Var.File节点,但不是指向一个文件,而是取出我已经拉入的数据。
EG。 data [0] =" 1,A,B,C" #所有文件的单行。
答案 0 :(得分:3)
简而言之,您可以将您的Python程序直接粘贴到SPSS语法文件中的BEGIN PROGRAM
和END 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.