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?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
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
xpt = sasxport.get("xpt/DEMO.xpt") write.csv(xpt, file="demo.csv")
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
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