从SPSS中运行CMD行

时间:2013-04-05 11:24:36

标签: python spss

有没有办法从SPSS中运行Windows命令行?

我正在使用SPSS BEGIN PROGRAM程序不支持的程序,我想从我的SPSS语法运行命令行(我对输出不感兴趣,我不需要导入/导出任何SPSS数据我只想在SPSS中运行cmd行。

举一个使用免费软件的简单示例,假设我想在我的SPSS语法结束时运行我的R脚本,但这只适用于SPSS不支持的版本(例如,目前SPSS 21支持R 2.14,假设我绝对需要在我的Windows PC上安装的R 2.15上运行它,有没有办法运行

R CMD BATCH C:\ Files \ MyRcode.R

在SPSS语法中?

这相当于以批处理模式运行程序(在本例中为R)。我需要使用的程序不是R,它只是一个例子。

据我所知,SPSS不能这样做但可能使用python(通过SPSS BEGIN PROGRAM PYTHON)可以使用Python运行命令行吗?

由于

P.S。对于之前可能没有使用过SPSS的Python用户,理论上应该能够使用

从SPSS中运行任何Python代码
BEGIN PROGRAM PYTHON.
Run some Python code
END PROGRAM.

1 个答案:

答案 0 :(得分:4)

是的,您可以使用Python代码执行此操作:

BEGIN PROGRAM PYTHON.
import subprocess
subprocess.call(['C:\\R\\R.exe', 'CMD', 'BATCH', 'C:\\Files\\MyRcode.R'])
END PROGRAM.

或者直接用这个:

HOST COMMAND=['R CMD BATCH C:\Files\MyRcode.R'].

备选方案:

  • 将其放入批处理文件中然后执行它,例如使用os.system()
  • 通过SCRIPT命令执行Python或Basic脚本。