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)
Metadata
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 | Provenance | |
|---|---|---|---|---|
| sas7bdat-2.3.0.tar.gz | 20.7 kB | Without provenance | 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
|
Security for sas7bdat 2.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.