XPT到CSV转换?

Joh*_*tte 6 csv r sas

也许这是错误的地方,但我不太确定在哪里放.

我有一个非常大的压缩SAS文件,格式为.XPT.我想将其转换为逗号分隔格式.该文件太大,无法在R中加载.我的机器上没有SAS,也没有办法获取它.

有什么建议?某处有转换器吗?我找不到一个使用谷歌.

Jac*_*man 8

如果你可以使用Python,我刚刚发布了一个可以帮助解决这个问题的库.转储到CSV看起来像这样(未经测试):

import xport, csv
with xport.XportReader('in.xpt') as reader:
    with open('out.csv', 'rb') as out:
        writer = csv.DictWriter(out, [f['name'] for f in reader.fields])
        for row in reader:
            writer.writerow(row)
Run Code Online (Sandbox Code Playgroud)

这些文件被视为流,因此文件的大小无关紧要(只要你不调用reader.record_count(),它必须寻找到文件的末尾).

如果您尝试这个,请告诉我 - 该库适用于我,但我还没有在许多.xpt文件上尝试过.


Jos*_*ien 5

谷歌搜索转换“将 sas 转换为 csv”打开了这个链接,它指向了几个可能的解决方案。

AM Statistical Software是由美国研究所生产的免费统计软件,看起来可以导入 SAS 传输文件,并输出约 150 种不同格式的文件。我猜这.csv就是其中之一!