Я хочу преобразовать файл .sas7bdat в формат .csv/txt, чтобы я мог загрузить его в таблицу улей. Я получаю файл .sas7bdat с внешнего сервера и не имею SAS на своей машине.Как преобразовать файл sas7bdat в csv?
Заранее спасибо.
Я хочу преобразовать файл .sas7bdat в формат .csv/txt, чтобы я мог загрузить его в таблицу улей. Я получаю файл .sas7bdat с внешнего сервера и не имею SAS на своей машине.Как преобразовать файл sas7bdat в csv?
Заранее спасибо.
Используйте один из R-пакетов, чтобы прочитать файл, а затем конвертировать в CSV с помощью этого инструмента.
http://cran.r-project.org/doc/manuals/R-data.pdf Pg 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)
library(sas7bdat)
x<-read.sas7bdat("class.sas7bdat", debug=TRUE)
x
Что происходит с форматированными в переменном состоянии переменными в импортированном наборе данных SAS при использовании этого подхода? Означает ли R только базовые ценности? – user667489
Да, изменил ответ выше, чтобы продемонстрировать это. – Reeza
https://github.com/hadley/haven теперь намного более быстрая альтернатива пакету sas7bdat – Saurfang
Если это разовый, вы можете загрузить программу просмотра системы SAS бесплатно здесь (после регистрации аккаунта, который также бесплатно):
http://support.sas.com/downloads/package.htm?pid=176
Вы можете открыть ГАС набора данных U петь зрителя и сохранять его как файл csv. Насколько я могу судить, нет CLI, но если вы действительно хотели, возможно, вы могли бы написать сценарий authotkey или аналогичный для преобразования наборов данных SAS в csv.
Также можно использовать поставщик SAS для OLE DB для чтения наборов данных SAS фактически не имея установленный SAS, и которая доступна здесь:
http://support.sas.com/downloads/browse.htm?fil=0&cat=64
Однако это довольно сложная - некоторая документация доступны здесь, если вы хотите, чтобы получить представление о том:
http://support.sas.com/documentation/cdl/en/oledbpr/59558/PDF/default/oledbpr.pdf
Вот описание того, как просматривать данные с помощью powershell, поэтому я бы подумал, что можно использовать тот же подход для экспорта в CSV : http://blogs.sas.com/content/sasdummy/2012/04/12/build-your-own-sas-data-set-viewer-using-powershell/ –
Спасибо, это помогло мне проверить данные, так как Я не мог первоначально просмотреть файл sas –
Спасибо за вашу помощь. Я закончил с использованием утилиты parso в java, и это сработало как шарм. Утилита возвращает строки как массивы объектов, которые я написал в текстовый файл.
я упомянул утилиту от: http://lifescience.opensource.epam.com/parso.html
Благодарности
Лучшая ссылка на Parso: http://scitouch.net/opensource/parso –
Я недавно написал этот пакет, который позволяет конвертировать sas7bdat в CSV-файл с помощью Hadoop/Спарк. Он способен разбивать гигантский файл sas7bdat, тем самым обеспечивая высокий параллелизм. Разбор также использует parso как предложено @Ashpreet
питона пакет sas7bdat
, доступного here, включает в себя библиотеку для чтения файлов sas7bdat:
from sas7bdat import SAS7BDAT
with SAS7BDAT('foo.sas7bdat') as f:
for row in f:
print row
и программу командной строки не требующие программирования
$ sas7bdat_to_csv in.sas7bdat out.csv
Что вы сделали до сих пор? – matsjoyce
Очень сложно получить данные из файла sas7bdat без установки SAS на вашем компьютере. Можете ли вы получить данные в другом формате или перенести их на компьютер или сервер, на котором установлен SAS? – mjsqu
Это невозможно без какого-либо инструмента. SAS7BDAT является закрытым форматом, и лишь немногие люди имеют обратную инженерию. – Joe