2016-02-26 92 views
1

我有一個創建了SAS存儲過程,也可以通過SAS管理控制檯來創建Web服務一樣,提取SAS存儲過程Web服務,並將其存儲在數據幀

我想通過Python在Web服務中執行該存儲過程,並希望將存儲過程生成的數據集存儲在Python中的數據框中。

我真的很感激,如果我可以,這個過程是可能的,如果是的話,我應該如何繼續下去。

+1

不知道這是可能的或沒有。熊貓可以閱讀xport和sas7bdat,但http://pandas-docs.github.io/pandas-docs-travis/io.html#io-sas-reader – JohnE

+0

@JohnE +1很高興知道熊貓可以處理xport和sas7bdat –

+0

@Jinsi你在什麼SAS版本? –

回答

1

我不知道很多關於蟒蛇但現在看來,有可能在JSON格式接收數據(見Python - Parsing JSON Data Set

沒有可用於SAS一個免費的工具,可以很容易地在JSON發送數據集格式(它建立在與javascript對話的基礎上,但在你的情況下也應該如此)。該.sas文件可以在這裏下載 - 地方https://github.com/Boemska/h54s/blob/master/sasautos/h54s.sas

保存上述文件中的SASApp服務器(例如/ SASEnvironment/SASCode /程序)和代碼如下:

/* this part compiles the json macros */ 
%inc "SASEnvironment/SASCode/Programs/h54s.sas"; 

/* this part is for producing your dataset in SAS */ 
data work.YOURDATASET; 
    set sashelp.class; 
run; 

/* this part sends your dataset as JSON via _webout */ 
%hfsHeader; /* sets up json */ 
%hfsOutDataset(jsonLabel,WORK, YOURDATASET); /* sends data */ 
%hfsFooter; /* finishes up json with some audit, eg userid, datetime etc */ 

從上面可以響應直接在瀏覽器中查看,這應該有助於構建相關的python「數據框架」。

如果你是9.4,它變得更容易(無需第三方工具):如果

data work.YOURDATASET; 
    set sashelp.class; 
run; 

proc json out=_webout pretty nosastags; 
    export work.YOURDATASET; 
run; 
+0

良好的聲譽,但如果用戶在9.3M2或9.4上,SAS提供的PROC JSON可以完成這項工作,而無需依賴第三方宏。 –

+0

我們的平臺是9.03.01M2P081512,並且proc json不可用。但是,這是一個很好的觀點,回答更新。 –

相關問題