首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPSS:如何循环和连接值以创建文件

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

Stack Overflow用户
提问于 2017-04-18 17:28:15
回答 1查看 191关注 0票数 1

嗨,我有一个语法文件,我想创建几个.sav文件

代码语言:javascript
复制
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

输出文件

代码语言:javascript
复制
epa0187.sav
epa0287.sav
epa0387.sav
...
epa0188.sav
...
epa0189.sav
...
epa1295.sav

输入文件

代码语言:javascript
复制
pub0187.prn
pub0287.prn
...
pub0188.prn
...
pub0189.prn
...
pub1295.prn

换句话说,我想为从1987年1月到1995年12月的每个月创建一个.sav文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-19 21:20:54

您可以用标准的Statistics语法创建宏循环,但是这里有一个在Statistics中使用Python代码的解决方案。注意缩进是很重要的。

代码语言:javascript
复制
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.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43478652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档