首页 > 解决方案 > 自动将SAS代码转换为python?

问题描述

客户需要将一些 SAS 代码转换为 Python,参与负责人问我是否可以自动执行此操作。我发现了一些声称可以做到这一点的工具,但我对任何声称可以自动从一种编程语言转换为另一种编程语言的工具持怀疑态度,更不用说像 SAS 这样的特定领域的工具了。

我还没有看到我们需要转换的源代码,但我的猜测是这些工具会进行一些简单的关键字转换,但任何中等复杂的逻辑都需要进行大量调整,以便更容易手动从头开始重写。在我看来,这是一个我们想要避免的兔子洞。

有什么想法吗?即使作为手动工作的“加速器”,进行任何类型的自动代码转换有多现实?

标签: pythonsas

解决方案


不可能。我在这方面花了很多时间,但我还没有看到能够进行代码转换的工具。另外,无论如何,我认为这不是一个好主意。有一些结构不能在两者之间转换,也有严重的逻辑差异。例如,在 python 中处理这个(伪代码):

data test (keep=x where=(y>3));   
   set test1 test2 (where=(z>6.2));
      by age gender;
   if age > "&ageMax.";
   blah blah;
run;

&ageMax 是由数据库中的 proc sql 创建的宏。该查询来自一个 %include,其中有一堆数据库调用。

我已经完成了 SAS 到 C# 的转换,你必须有人精通这两种方法。看一个屏幕,另一个屏幕上的代码。


推荐阅读