我有一个spss语法文件,我需要在多个文件上运行,每个文件都在与文件同名的不同目录中,我也试图自动执行此操作。到目前为止,我已经尝试使用语法代码,我试图避免做python是spss,但我能够得到的是下面的代码不起作用。
VECTOR v = key.
LOOP #i = 1 to 41.
GET
FILE=CONCAT('C:\Users\myDir\otherDir\anotherDir\output\',v(#i),'\',v(#i),'.sav').
DATASET NAME Data#i WINDOW=FRONT.
*Do stuff to the opened file
END LOOP.
EXE.
key是文件中唯一包含文件所有名称的列。
我无法调试,因为如果可能的话,我不知道如何打印到屏幕上。所以我的问题是:有没有办法让上面的代码工作,或者另一个选项来完成同样的事情?
答案 0 :(得分:1)
您不能在GET命令上使用类似的表达式。有两种选择。使用宏语言将它们放在一起(通过“帮助”菜单参见“命令语法参考”中的DEFINE)或使用SPSSINC PROCESS FILES扩展命令或您自己的Python代码来选择带通配符的文件。
扩展命令或Python程序需要SPSS社区网站提供的免费Python Essentials,或者您的统计版本可用。