我有一个创建了SAS存储过程,也可以通过SAS管理控制台来创建Web服务一样,提取SAS存储过程Web服务,并将其存储在数据帧
我想通过Python在Web服务中执行该存储过程,并希望将存储过程生成的数据集存储在Python中的数据框中。
我真的很感激,如果我可以,这个过程是可能的,如果是的话,我应该如何继续下去。
我有一个创建了SAS存储过程,也可以通过SAS管理控制台来创建Web服务一样,提取SAS存储过程Web服务,并将其存储在数据帧
我想通过Python在Web服务中执行该存储过程,并希望将存储过程生成的数据集存储在Python中的数据框中。
我真的很感激,如果我可以,这个过程是可能的,如果是的话,我应该如何继续下去。
我不知道很多关于蟒蛇但现在看来,有可能在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;
良好的声誉,但如果用户在9.3M2或9.4上,SAS提供的PROC JSON可以完成这项工作,而无需依赖第三方宏。 –
我们的平台是9.03.01M2P081512,并且proc json不可用。但是,这是一个很好的观点,回答更新。 –
不知道这是可能的或没有。熊猫可以阅读xport和sas7bdat,但http://pandas-docs.github.io/pandas-docs-travis/io.html#io-sas-reader – JohnE
@JohnE +1很高兴知道熊猫可以处理xport和sas7bdat –
@Jinsi你在什么SAS版本? –