Como converter o ficheiro sas7bdat para csv?

quero converter A.sas7bdat file to A.formato csv / txt para que eu possa carregá-lo para uma tabela de colmeias. Estou a receber .ficheiro sas7bdat de um servidor externo e não tem SAS na minha máquina.

Author: wibeasley, 2014-10-23

5 answers

Use um dos pacotes R estrangeiros para ler o ficheiro e depois converter para CSV com essa ferramenta.

Http://cran.r-project.org/doc/manuals/R-data.pdf Pg 12

Usando o pacote SAS7BDAT em vez disso. Parece ignorar os formatados personalizados, lendo os dados subjacentes.

Em 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;

Em R:

 install.packages(sas7bdat)
 library(sas7bdat)
 x<-read.sas7bdat("class.sas7bdat", debug=TRUE)
 x  
 10
Author: Reeza, 2014-10-23 22:48:15

O pacote python sas7bdat, disponível aqui , inclui uma biblioteca para ler ficheiros sas7bdat:

from sas7bdat import SAS7BDAT
with SAS7BDAT('foo.sas7bdat') as f:
    for row in f:
        print row

E um programa de linha de comandos sem necessidade de programação

$ sas7bdat_to_csv in.sas7bdat out.csv
 7
Author: Andrew, 2017-09-11 21:11:29

Escrevi recentemente este pacote que lhe permite converter sas7bdat para csv usando Hadoop/Spark. Ele é capaz de dividir arquivo sas7bdat gigante, alcançando assim alto paralelismo. A análise também usa parso como sugerido por @Ashpreet

Https://github.com/saurfang/spark-sas7bdat

 3
Author: Saurfang, 2015-05-14 21:50:02

Se este for um caso isolado, pode descarregar o visualizador do sistema SAS gratuitamente a partir daqui (depois de se registar para uma conta, que também é gratuita):

Http://support.sas.com/downloads/package.htm?pid=176

Pode então abrir o conjunto de dados sas usando o visualizador e gravá-lo como um ficheiro csv. Não há nenhum CLI tanto quanto eu posso dizer, mas se você realmente queria você poderia provavelmente escrever um script autohotkey ou similar para converter conjuntos de dados SAS para csv.

Também é possível para usar o fornecedor de SAS para OLE DB para ler conjuntos de dados SAS sem realmente ter SAS instalado, e isso está disponível aqui:

Http://support.sas.com/downloads/browse.htm?fil=0&cat=64

No entanto, isto é bastante complicado-alguma documentação está disponível aqui se quiser ter uma ideia:

Http://support.sas.com/documentation/cdl/en/oledbpr/59558/PDF/default/oledbpr.pdf

 2
Author: user667489, 2014-10-24 20:56:23
Obrigado pela ajuda. Acabei de usar o utilitário parso em java e funcionou como um encanto. O utilitário devolve as linhas como conjuntos de objectos que escrevi num ficheiro de texto.

Referi-me ao utilitário de: http://lifescience.opensource.epam.com/parso.html

 2
Author: Ashpreet Bedi, 2020-01-26 22:14:37