sas7bdat.py
This module will read sas7bdat files using pure Python (2.6+, 3+). No SAS software required! The module started out as a port of the R script of the same name found here: https://github.com/BioStatMatt/sas7bdat but has since been completely rewritten.
Also included with this library is a simple command line script,
sas7bdat_to_csv, which converts sas7bdat files to csv files. It will also
print out header information and meta data using the --header option and it
will batch convert files as well. Use the --help option for more information.
As is, I've successfully tested the script almost three hundred sample files I found on the internet. For the most part, it works well. We can now read compressed files!
I'm sure there are more issues that I haven't come across yet. Please let me know if you come across a data file that isn't supported and I'll see if I can add support for the file.
Usage
To install, run:
pip install sas7bdat
To create a sas7bdat object, simply pass the constructor a file path. The object is iterable so you can read the contents like this:
#!python
from sas7bdat import SAS7BDAT
with SAS7BDAT('foo.sas7bdat', skip_header=True) as reader:
for row in reader:
print row
Each row will be a list of values of type string, float, datetime.date,
datetime.datetime, or datetime.time. Without skip_header, the first row
returned will be the SAS variable names.
If you'd like to get a pandas DataFrame, use the to_data_frame method:
#!python
df = reader.to_data_frame()
Variable
attributes
are available from reader.columns. The order of these columns will be the same
as the corresponding values in each row. Each Column has the following
attributes:
col_id(int) - the column numbername(bytes)label(bytes)format(str)type(str)length(int)
Release files for sas7bdat 2.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sas7bdat-2.3.0.tar.gz | 20.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sas7bdat-2.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.4 kB
Release files / sas7bdat-2.3.0.tar.gz
| Download URL | sas7bdat-2.3.0.tar.gz |
|---|---|
| Size | 20.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed8bfe652c7e8bb8e8db788da5680fdbe1dada2361ee00fb7eeda032e7388f3d
|
|
BLAKE2b-256 checksum How to use checksums |
d53c37d38dbbdce403007d26c6e9ca9582d7c847f58f9ba49a27195cb4067c5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.1
|
Release files / sas7bdat-2.3.0-py3-none-any.whl
| Download URL | sas7bdat-2.3.0-py3-none-any.whl |
|---|---|
| Size | 17.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3146912a0a6a10769b48c1a13ae54d696f938f8c1a65c551a70dd8f2c704f10
|
|
BLAKE2b-256 checksum How to use checksums |
e0833d5f251650ea1bcb2c765a6de73f3b61cc4d9db4fd536d26cc436db6428a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.1
|