我想将一个.sas7bdat文件转换成.csv/txt格式,以便可以将其上传到hive表中。我从外部服务器收到了这个.sas7bdat文件,但我的电脑上没有安装SAS。
使用R中的一个外部包来读取文件,并用该工具将其转换为CSV格式。
http://cran.r-project.org/doc/manuals/R-data.pdf 第12页
或者可以尝试使用SAS7BDAT包。它似乎忽略了自定义格式,读取了底层数据。
In 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)
library(sas7bdat)
x<-read.sas7bdat("class.sas7bdat", debug=TRUE)
x
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