How can I convert SAS data files into something simple like CSV data?

There are government data files available from this CDC web site, but they are in a weird SAS format.

How can I convert them into XML/CSV, i.e. something much simpler that can be read by scripts, etc?

3

5 Answers

StatTransfer will convert SAS files to a variety of formats and it includes options to filter variables or observations, customize the delimiter, and change variable storage formats during the transfer.

AM will also covert data, but it's less powerful/flexible. AM is freeware and written for Windows.

You can do this with R-cran, if you have SAS xpt files. Use the foreign and hmisc packages.

xpt = sasxport.get("xpt/DEMO.xpt")
write.csv(xpt, file="demo.csv")
3

SAS Institute (the company that makes SAS) produces a viewer for SAS data sets.

Note that SAS program files usually have the extension .sas, whereas the data files themselves usually have the extension .sas7bdat.

2

You can extract data from .SAS7BDAT files using dsread from Oceanview Consultancy, see

It handles files from most platforms though may require registration for some platforms. It's a fast and easy-to-use command-line Windows program that also runs under Wine on Linux. No installation required, just run the .exe.

I realise that this is an old question but it shows up in relevant web searches so including this answer will help anyone else looking to extract data from the proprietary SAS7BDAT format.

Disclaimer: I am the developer of dsread.

If you're talking about SAS XPT files, you can use the xport Python module.

import xport
with open('example.xpt', 'rb') as f: for row in xport.Reader(f): print row

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like