将 Pandas 数据帧导出为 SAS sas7bdat 格式

Bog*_*anC 9 sas pandas

我想到的流程是:
1. 从 SAS 导出 sas7bdat
2. 在 python 中导入该文件pd.read_sas并在
3. 将 Pandas 数据帧导出到 sas7bdat(或其他一些 SAS 二进制文件格式)。我认为这pd.to_sas会存在,但它不存在
4. 在 SAS 中打开新文件并对其进行进一步操作

上面第 3 点有解决方案吗?在我看来,我唯一的选择是 csv 或一些 SQL 数据库。
这不是一个真正的编程问题。希望这不会成为问题。

Joe*_*Joe 8

Python 能够写入 SAS .xpt 格式(例如参见xport 库),这是 SAS 的开放文件格式。SAS7BDAT 是一种封闭的文件格式,不能被其他语言读/写;有些人已经对其进行了足够的逆向工程,至少可以阅读,但从我所看到的,不存在好的 SAS7BDAT 编写器(例如,R 有一个我见过的最好的一个,但它仍然存在问题和事情做不到)。

但是,比 XPT 文件更常见的是编写一个 CSV 文件,然后在你的 python/etc 中编写一个 SAS 输入脚本。程序。这使您可以非常轻松地使用变量标签、值标签、类型等;编写 SAS 输入脚本非常容易。许多其他软件包这样做是因为它们首选的方法来生成 SAS 文件。这还有一个额外的优势,那就是它很容易跨平台——不管你的 SAS 程序是在大型机、UNIX、Windows 等上;全部都是一样。

编辑:如果您确实通过服务器或本地安装在本地获得了 SAS 许可,则将Python 数据导出到 SAS 的另一个选项是SASPy,这是一个由 SAS 维护的开源项目,它允许 Python 直接连接到 SAS 实例并直接发送数据。(在幕后,我相信大部分时间数据实际上是作为 CSV 传输的,然后使用 SAS 代码读入。)SAS ODBC 驱动程序也是一种选择,但对于 Python SASPy 将是最有可能的最简单的选择。