将SAS文件导入到SQL数据库
sas2db的Python项目详细描述
sas2db
将SAS文件导入到sql数据库。同时支持*.sas7bdat
和xport(*.xpt
)文件。
安装
不需要SAS软件本身。
用法
sqlite3
sas2db
支持SQLite3,不需要额外的依赖项或设置,因此我们将从这个开始。要从SAS导入到sqlite3:
运行转换。
sas2db path/to/src.sas7bdat
将创建一个
src.db
(匹配您的输入文件名)。运行SQL!示例:
$ sqlite3 src.db sqlite> .tables mydata sqlite> SELECT COUNT(*) FROM mydata; 200
更多选项:
sas2db -h
其他数据库
除了sqlite3之外,sas2db
还支持其他数据库,如postgresql和mysql。这种支持来自引擎盖下的SQLAlchemy,请参见their list of supported "dialects"。
使用另一个数据库:
- 确保目标数据库已安装、运行、创建,并且可以从执行导入的任何位置访问。
- 安装相应的驱动程序。
- 在Dialects页面上,单击首选数据库,然后在“dbapi支持”下,单击其中一个选项。
- 第一个dbapi选项可能很好,不过您可能需要尝试多个。
- 运行
sas2db
,将database URL传递给--db
参数。
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
开发
安装Pipenv。
克隆/下载存储库。
从项目目录中,运行
pipenv install --dev pipenv shell
运行postgresql。Docker中的示例:
docker run --rm -it -p 5432:5432 --name pg postgres
在postgresql中创建
sas2db
数据库进行测试。Docker中的示例:docker exec -it pg createdb -U postgres sas2db
运行测试:
python -m unittest
使用脚本:
python3 sas2db/run.py path/to/src.sas7bdat
data.gov has data sets you can test with.
更多信息
用于向/从SAS导入/导出数据的其他工具:
- sas7bdat Python package
- 如果您因某种原因不能使用熊猫,则此功能非常有用
- 熊猫(用于
sas2db
)使用a modified version of the sas7bdat package
- SAS ODBC drivers
- SAS的^{
} - sas2bdat R package
有关数据类型的信息:
- 文件
- sas到python类型解析