This question was migrated from Cross Validated because it can be answered on Stack Overflow. Migrated5年前。Learn more
我有一个python脚本,它将xml文件读入数组(以我创建的csv格式)。我希望能够直接使用这些数据,而不是保存到文件中。
这可能吗?所以这就像创建一个Var.File节点,但它不是指向一个文件,而是获取我已经拉进来的数据。
例如,data[0]=“1,A,B,C”#所有文档的单行。

最佳答案

简而言之,您可以在spss语法文件中直接将python程序粘贴到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.

关于spss - 是否可以在Python中为SPSS创建数据对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26122187/

10-12 18:14