您好我有一个语法文件,我想创建几个.sav
个文件
for 87 to 95
for 1 to 12
FILE HANDLE EPA/NAME='C:\Users\gma\Downloads/pub0187.prn'/LRECL=138.
DATA LIST FILE=EPA/
STATES_PROV 001 - 007
... .....
VARIABLE LABELS
...
MISSING VALUES
....
SAVE OUTFILE='C:\Users\gma\Downloads/epa0187.sav'.
end
end
输出文件
epa0187.sav
epa0287.sav
epa0387.sav
...
epa0188.sav
...
epa0189.sav
...
epa1295.sav
输入文件
pub0187.prn
pub0287.prn
...
pub0188.prn
...
pub0189.prn
...
pub1295.prn
所以换句话说,我想在1987年1月至1995年12月期间为每个月创建一个.sav
档案。
答案 0 :(得分:2)
您可以使用标准统计语法创建宏循环,但这是使用统计信息中的Python代码的解决方案。请注意,缩进很重要。
begin program.
import spss
for year in range(87, 96): # note stop is one beyond
for month in range(1, 13): # one beyond
spss.Submit(r"""FILE HANDLE EPA
/NAME='C:\Users\gma\Downloads/pub%(month)s%(year)s.prn'/LRECL=138.
DATA LIST FILE=EPA/
STATES_PROV 001 - 007
... .....
VARIABLE LABELS
...
MISSING VALUES
....
SAVE OUTFILE='C:\Users\gma\Downloads/epa%(month)s%(year)s.sav'.""" % locals())
end program.