Skip to main content

sas2db PyPI version

Imports SAS files to SQL databases. Supports both *.sas7bdat and XPORT (*.xpt) files.

Installation

The SAS software itself is not required.

  1. Install Python 3 and pip.

  2. Install the package.

    pip3 install sas2db
    

Usage

SQLite3

sas2db supports SQLite3 with no additional dependencies or setup, so we'll start with that. To import from SAS to SQLite3:

  1. Run the conversion.

    sas2db path/to/src.sas7bdat
    
  2. A src.db (matching your input file name) will be created.

  3. Run SQL! Example:

    $ sqlite3 src.db
    sqlite> .tables
    mydata
    sqlite> SELECT COUNT(*) FROM mydata;
    200
    

For more options:

sas2db -h

Other databases

Aside from SQLite3, sas2db supports other databases like PostgreSQL and MySQL. This support comes from SQLAlchemy under the hood, so see their list of supported "dialects".

To use another database:

  1. Ensure that the destination database is installed, running, created, and accessible from wherever you will be doing the import.
  2. Install the corresponding driver.
    • On the Dialects page, click your preferred database, then under "DBAPI Support", click one of the options.
    • The first DBAPI option is probably fine, though you may have to try multiple.
  3. Run sas2db, passing the database URL to the --db argument.

Example for PostgreSQL:

# create the database
createdb -U postgres sas_import
# install driver
pip3 install psycopg2
# run the import
sas2db --db postgresql+psycopg2://postgres@localhost:5432/sas_import path/to/src.sas7bdat

Development

  1. Install Pipenv.

  2. Clone/download the repository.

  3. From the project directory, run

    pipenv install --dev
    pipenv shell
    
  4. Run PostgreSQL. Example in Docker:

    docker run --rm -it -p 5432:5432 --name pg postgres
    
  5. Create sas2db database in PostgreSQL for testing. Example in Docker:

    docker exec -it pg createdb -U postgres sas2db
    
  6. Run tests:

    python -m unittest
    

To use the script:

python3 sas2db/run.py path/to/src.sas7bdat

data.gov has data sets you can test with.

More Information

Other tools to look at for importing/exporting data to/from SAS:

Information about data types:

Metadata

Release files for sas2db 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sas2db 0.2.1
File Size Uploaded
sas2db-0.2.1.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sas2db 0.2.1
File Interpreter ABI Platform
sas2db-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.5 kB

Release files / sas2db-0.2.1.tar.gz

Download URL sas2db-0.2.1.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4163e81cab643dc6bea68f38a54ffaf15c93b0c987127f7dcba20f309e7038f0
BLAKE2b-256 checksum
How to use checksums
c33ac7cdd5c1c5d4a65320693264bb4cb7ea46a6e7bc500fee81a869502fe077
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

Release files / sas2db-0.2.1-py3-none-any.whl

Download URL sas2db-0.2.1-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
818294f908201e3a5b51e173fd98b48598dee7d9baf0dfaaf1c2051978554883
BLAKE2b-256 checksum
How to use checksums
cfbac0c8b675a8fca1f330823783a32870b6488748a2b537e8c0f5d8ceb5b178
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page