【问题标题】:Extract SAS Stored Process web Service in Python and store it in a Data Frame在 Python 中提取 SAS 存储过程 Web 服务并将其存储在数据框中
【发布时间】:2016-02-26 19:21:15
【问题描述】:

我已经创建了一个 SAS 存储过程,并且还能够通过 SAS 管理控制台创建一个 Web 服务,

我想通过 Python 在 Web 服务中执行该存储过程,并希望将存储过程生成的数据集存储在 Python 中的数据框中。

如果可以,我将非常感激该过程是可能的,如果是,我应该如何进行。

【问题讨论】:

  • 不确定是否可行。 Pandas 可以读取 xport 和 sas7bdat 虽然 pandas-docs.github.io/pandas-docs-travis/io.html#io-sas-reader
  • @JohnE +1 很高兴知道 Panda 可以处理 xport 和 sas7bdat
  • @Jinsi 你用的是什么SAS版本?
  • @VasilijNevlev 抱歉,我应该注意到读取 sas7bdat 的功能将在下一个版本 (0.18) 中推出,但读取 xport 文件的功能已经可用。
  • @JohnE,知道了,谢谢你的更新。

标签: python pandas sas


【解决方案1】:

我对python不太了解,但似乎可以接收JSON格式的数据(见Python - Parsing JSON Data Set

SASjs 框架使得在 SAS 9 和 Viya 上构建 SAS Web 服务变得超级容易,例如:

%let appLoc=/Public/app;  /* Configure Metadata or Viya Folder location here */
filename mc url "https://raw.githubusercontent.com/sasjs/core/main/all.sas";
%inc mc; /* compile macros */
filename ft15f001 temp;
parmcards4;
  %webout(OPEN)
  proc sql;
  create table areas as select distinct area from sashelp.springs;
  %webout(OPEN)
  %webout(OBJ,areas)
  %webout(CLOSE)
;;;;
%mp_createwebservice(path=&appLoc/common,name=appinit)

【讨论】:

  • 很好的解决方案,但如果用户使用的是 9.3M2 或 9.4,SAS 提供的 PROC JSON 也可以完成这项工作,而无需依赖第 3 方宏。
  • 我们的平台是 9.03.01M2P081512 并且 proc json 不可用。但这是一个好点,答案已更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多