【问题标题】:Run CMD line from within SPSS从 SPSS 中运行 CMD 行
【发布时间】:2013-04-05 11:24:35
【问题描述】:

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

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

举一个使用免费软件的简单示例,假设我想在我的 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 运行命令行?

谢谢

附:对于之前可能没有使用过 SPSS 的 Python 用户,理论上应该能够使用 SPSS 运行任何 Python 代码

BEGIN PROGRAM PYTHON.
Run some Python code
END PROGRAM.

【问题讨论】:

    标签: python spss


    【解决方案1】:

    是的,你可以用 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 脚本。

    【讨论】:

    • 谢谢! Host Command 可以完美运行(尽管我确信 Python 替代方案也可以)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多