SPSS:如何循环和连接值以创建文件

SPSS: how to loop and concatenate values to create file

你好,我有一个语法文件,我想创建几个 .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 文件。

您可以使用标准 Statistics 语法创建宏循环,但这里是使用 Statistics 中的 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.