2016-07-26 108 views
0

我有多個SAS程序文件,每個文件都有各種宏變量,需要通過Excel文件動態設置。我想知道是否可以通過python腳本(或shell腳本)將excel文件中的值傳遞給SAS程序。我希望手動爲每個SAS程序自動設置參數。如何通過python腳本設置SAS程序宏變量

請建議。

+0

爲什麼不直接導入Excel中的Excel文件? – superfluous

+0

我想通過通用excel文件設置它們的參數來自動執行所有sas程序。我正在閱讀excel文件,並根據程序名稱爲SAS中的特定代碼文件設置參數。如果我必須在SAS中導入excel,它不會爲我自動執行任何操作。 @superfluous – codemob

+1

@codemob那麼,您可以將它讀入SAS,然後在SAS作業中設置參數? – Joe

回答

0

您可以使用-sysparm命令行選項將字符串傳遞給SAS,並且該字符串將作爲&sysparm自動變量在SAS中提供。

E.g. (命令行:)

sas myprogram.sas -sysparm myparam

如果您需要解析內部SAS的字符串時,%scan()宏功能可能是有用的。

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]) 

我從蟒蛇的子進程調用Bash中運行它,我關於SAS程序發送不同的參數,這個電話我我在打電話。我從子進程調用中傳遞的參數通過%sysget命令在SAS程序中捕獲。謝謝。