如何通过python脚本设置SAS程序宏变量

时间:2016-07-26 20:35:25

标签: python parameters automation sas

我有多个SAS程序文件,每个文件都有各种宏变量需要通过excel文件动态设置。我想知道我是否可以通过python脚本(或shell脚本)将excel文件中的值传递给SAS程序。我希望自动化为每个SAS程序手动设置参数的过程。

请建议。

2 个答案:

答案 0 :(得分:0)

您可以使用annotation命令行选项将字符串传递给SAS,此字符串将在SAS中作为-sysparm自动变量使用。

E.g。 (从命令行:):

sas myprogram.sas -sysparm myparam

如果需要解析SAS内部的字符串,&sysparm宏函数可能会有用。

答案 1 :(得分:0)

所以我确实弄清楚如何解决这个问题:

        subprocess.call(['C:\\Program Files\\SASHome\\SASFoundation\\9.4\\sas.exe', '-config', config_path, '-autoexec', autoexec_path,'-sasinitialfolder',sasinitialfolder,'-sysin', sas_script_path,'-log',ori_log])

我从python进行了一个子进程调用,在Bash中运行它,我正在向我调用的SAS程序发送不同的参数给这个调用。我通过%sysget命令在SAS程序中捕获从子进程调用传递的参数。谢谢。