2009-07-09 131 views
3

我们需要产生的输出是一个标准的分隔文件,但我们需要二进制而不是ascii内容。这可能使用SAS吗?SAS可以将CSV文件转换为二进制格式吗?

+0

您可以读取任何类型的数据格式并编写任何类型的数据格式。当你说你想产生一个“二进制文件”是什么意思?你需要哪种二进制文件格式? – 2009-07-11 11:45:29

回答

1

实际上,您可以将CSV文件制作为SAS商品; CSV是有效的SAS目录条目类型。

下面是一个例子:

filename of catalog "sasuser.test.class.csv"; 

proc export data=sashelp.class 
    outfile=of 
    dbms=dlm; 
    delimiter=','; 
run; 

filename of clear; 

这一小段代码出口SASHELP.CLASS入门型CSV的SAS目录条目。

通过这种方式,您可以使用PROC CPORT/CIMPORT在不同平台上的SAS安装之间移动,而无需担心所使用的二进制包格式是否适用于SAS会话,因为它是内部SAS格式。

4

您是否需要特定的二进制格式?或者只是非ascii?如果你使用的是proc export,你可能只限于任何可用的格式。但是,您始终可以手动创建csv。

如果有什么可以做的,你可以简单地压缩CSV文件。

运行的* nix系统上,例如,你会使用类似:

filename outfile pipe "gzip -c > myfile.csv.gz"; 

然后手动创建CSV:

data _null_; 
    set mydata; 
    file outfile; 
    put var1 "," var2 "," var3; 
run; 

如果这是PC/Windows的SAS,我不太熟悉,但你可能需要安装一个命令行压缩工具。

这个SAS链接建议使用winzip,它有一个可免费下载的版本。否则,代码是相似的。 http://support.sas.com/kb/26/011.html

+0

哦,我的上帝,你应该得到sme许多upvotes! – Oleg 2014-11-01 23:18:05

1

你是说你有要输出到csv的二进制数据吗?

如果是这样,我不认为应该如何处理这个定义的标准。

我建议尝试一下(proc export to mind),看看结果是否符合你的期望。

+0

我在说我有一个csv我想输出为二进制。我的想法是'二进制格式'是标准化的,像csv或其他分隔符。我意识到现在情况并非如此 - 请求了关于我们需要复制的'二进制格式'的性质的更多信息.. – 2009-07-10 22:40:38

0

使用SAS,输出一个.csv文件;以Excel和Save As格式打开它,无论客户需要什么格式。您也可以在###中使用一些脚本来自动执行此过程。 (用您最喜欢的脚本语言替换###)

相关问题