如何将sas7bdat文件转换为csv?

Ash*_*edi 7 csv hadoop hive sas hdfs

我想将.sas7bdat文件转换为.csv/txt格式,以便我可以将其上传到hive表中.我从外部服务器收到.sas7bdat文件,但我的机器上没有SAS.

提前致谢.

Ree*_*eza 8

使用其中一个R外部包读取该文件,然后使用该工具转换为CSV.

http://cran.r-project.org/doc/manuals/R-data.pdf 第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;
Run Code Online (Sandbox Code Playgroud)

在R:

 install.packages(sas7bdat)
 library(sas7bdat)
 x<-read.sas7bdat("class.sas7bdat", debug=TRUE)
 x  
Run Code Online (Sandbox Code Playgroud)

  • https://github.com/hadley/haven现在是sas7bdat包的一个更快的替代品 (5认同)

And*_*rew 7

此处sas7bdat提供的 python 包包含一个用于读取 sas7bdat 文件的库:

from sas7bdat import SAS7BDAT
with SAS7BDAT('foo.sas7bdat') as f:
    for row in f:
        print row
Run Code Online (Sandbox Code Playgroud)

和一个不需要编程的命令行程序

$ sas7bdat_to_csv in.sas7bdat out.csv
Run Code Online (Sandbox Code Playgroud)