我有多个SAS程序文件,每个文件都有各种宏变量需要通过excel文件动态设置。我想知道我是否可以通过python脚本(或shell脚本)将excel文件中的值传递给SAS程序。我希望自动化为每个SAS程序手动设置参数的过程。
请建议。
答案 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程序中捕获从子进程调用传递的参数。谢谢。