也许这是错误的地方,但我不太确定在哪里放。
我有一个非常大的压缩SAS文件,格式为.XPT。我想将其转换为逗号分隔格式。该文件太大,无法在R中加载。我的机器上没有SAS,也没有办法获取它。
有什么建议吗?某处有转换器吗?我找不到一个使用谷歌。
答案 0 :(得分:8)
如果您可以使用Python,我刚刚发布了a library,可能会对此有所帮助。转储到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)
文件被视为流,因此文件的大小无关紧要(只要你不调用reader.record_count(),它必须寻找到文件的末尾)。
如果您尝试这个,请告诉我 - 该库适合我,但我还没有尝试过很多.xpt文件。
答案 1 :(得分:4)
谷歌搜索转换“将sas转换为csv”出现了this link,这指出了几种可能的解决方案。
AM Statistical Software是由美国研究院制作的免费统计软件,看起来它可以导入SAS传输文件,并输出大约150种不同格式的文件。我猜他们就是.csv
!
答案 2 :(得分:2)
我相信R中的一个或多个包中有一个read.xport
函数可以读取SAS传输文件。从那里你可以使用write.csv
之类的东西来保存它。
答案 3 :(得分:2)
为了节省读者浪费时间,我会说我刚试过AM Statistical Software(版本0.06.04 Beta Aug 14 2011)。它接受各种令人印象深刻的SAS文件,但不是 .xpt。
答案 4 :(得分:0)
不幸的是,我的评论太新了,而且暂时还没有激活,但我发现AM软件包运行正常。
您需要从他们的网站下载单独的扩展程序,经过实验,我发现您需要选择文件类型" SAS Transport(* .v5x)",转到目录,并手动输入相应框中的文件名。它会正确加载。
加载文件的一种奇怪方式,但根据我所需要的,它的工作方式与人们在其网站上声称的一样。
答案 5 :(得分:0)
Python有xport Library https://pypi.python.org/pypi/xport/ 安装库
$ pip install xport
$ python -m xport example.xpt > example.csv
答案 6 :(得分:0)
我意识到这个线程已经很老了。这是我刚刚找到的最好的,并提出了一些好的建议。我想为其他可能会寻找从XPT转换为CSV的简单方法的其他人添加另一个免费选项。
SAS使SAS Universal Viewer可以打开几种文件类型进行查看。它将文件也保存为CSV格式。我尝试的唯一文件类型是XPT,它非常简单,快速。
链接到SAS网站以进行下载:https://support.sas.com/downloads/browse.htm?cat=74
根据版本1.3的《用户指南》: 使用SAS Universal Viewer,您可以查看以下类型的文件:
•SAS数据集,包括那些在Windows以外的平台上创建的数据
•SAS v5传输文件
•SAS程序,日志和列表
•常规文本文件
•在Internet Explorer中打开的HTML和其他文件类型
https://support.sas.com/documentation/cdl/en/univiewerug/65066/PDF/default/univiewerug.pdf