Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将sas7bdat文件转换为csv?_Csv_Hadoop_Hive_Sas_Hdfs - Fatal编程技术网

如何将sas7bdat文件转换为csv?

如何将sas7bdat文件转换为csv?,csv,hadoop,hive,sas,hdfs,Csv,Hadoop,Hive,Sas,Hdfs,我想将.sas7bdat文件转换为.csv/txt格式,以便将其上载到配置单元表中。 我正在从外部服务器接收.sas7bdat文件,并且我的计算机上没有SAS。使用R外部软件包读取该文件,然后使用该工具转换为CSV 第12页 改用SAS7BDAT包。它似乎忽略了自定义格式,读取基础数据 在SAS中: proc format; value agegrp low - 12 = 'Pre Teen' 13 -15 = 'Teen' 16 - high = 'Driver'; run

我想将.sas7bdat文件转换为.csv/txt格式,以便将其上载到配置单元表中。
我正在从外部服务器接收.sas7bdat文件,并且我的计算机上没有SAS。

使用R外部软件包读取该文件,然后使用该工具转换为CSV

第12页

改用SAS7BDAT包。它似乎忽略了自定义格式,读取基础数据

在SAS中:

proc format;
value agegrp
   low - 12 = 'Pre Teen'
   13 -15 = 'Teen'
   16 - high = 'Driver';
run;

libname test 'Z:\Consulting\SAS Programs';

data test.class;
set sashelp.class;
age2=age;
format age2 agegrp.;
run;
在R中:

install.packages(sas7bdat)
图书馆(sas7bdat)

x如果这是一次性的,您可以从这里免费下载SAS系统查看器(注册帐户后,这也是免费的):

然后,可以使用查看器打开sas数据集并将其另存为csv文件。据我所知,没有CLI,但如果您真的想,您可能可以编写一个自动热键脚本或类似的脚本来将SAS数据集转换为csv

也可以使用SAS provider for OLE DB来读取SAS数据集,而无需实际安装SAS,此处提供了:

但是,这相当复杂-如果您想了解以下信息,可以在此处获取一些文档:


谢谢你的帮助。我结束了我们在java中使用parso实用程序的过程,它工作起来很有魅力。该实用工具将行作为对象数组返回,我将其写入文本文件


我从以下位置引用了该实用程序:

我最近编写了这个包,它允许您使用Hadoop/Spark将sas7bdat转换为csv。它能够分割巨大的sas7bdat文件,从而实现高并行性。解析还使用了@Ashpreet建议的parso


可用的python包
sas7bdat
,包括一个用于读取sas7bdat文件的库:

from sas7bdat import SAS7BDAT
with SAS7BDAT('foo.sas7bdat') as f:
    for row in f:
        print row
以及不需要编程的命令行程序

$ sas7bdat_to_csv in.sas7bdat out.csv

到目前为止,您做了什么?如果您的计算机上没有安装SAS,则很难从sas7bdat文件中检索数据。您能否以不同的格式获取数据,或将其传输到安装了SAS的计算机或服务器?如果没有某种工具,这是不可能的。SAS7BDAT是一种封闭格式,只有少数人对其进行了反向工程。使用这种方法时,导入的SAS数据集中的自定义格式变量会发生什么变化?R只是看到了基础值吗?是的,修改了上面的答案以证明这一点。现在是sas7bdat软件包的一个更快的替代方案此处介绍了如何使用powershell查看数据,因此我认为可以使用相同的方法导出到CSV:谢谢,这有助于我测试数据,因为我最初无法查看sas文件数据类型信息因此丢失(元数据/标题,如类型、长度、标签等)。所有数字都显示为浮点数。
$ sas7bdat_to_csv in.sas7bdat out.csv