未提供项目描述
项目描述
tableschema-spss-py
根据Table Schema描述符生成和加载SPSS文件。
功能
- 实现
tableschema.Storage
接口
内容
入门
安装
该软件包使用语义版本控制。这意味着主要版本可能包括破坏性更改。强烈建议在您的setup/requirements
文件中指定package
版本范围,例如package>=1.0,<2.0
。
pip install tableschema-spss
示例
本readme中的代码示例需要Python 3.3+解释器。您还可以在示例目录中查看更多示例。
对于此示例,您的模式应与SPSS存储兼容 - https://github.com/frictionlessdata/tableschema-spss-py#creating-sav-files
from tableschema import Table
# Load and save table to SPSS
table = Table('data.csv', schema='schema.json')
table.save('data', storage='spss', base_path='dir/path')
文档
本包的整个公共API在此描述,并遵循语义版本控制规则。readme之外的API属于私有API,且在新版本中可能不进行任何通知而进行更改。
存储
包实现了表存储接口(详细信息请参阅链接)
此驱动程序提供额外的API
Storage(base_path=None)
base_path (str)
- 可以创建和读取.sav文件的合法目录路径。如果没有提供base_path,则Storage对象方法将接受文件路径而不是存储桶名称。
storage.buckets
列出基础路径下的所有.sav和.zsav文件。只有当Storage有有效的base_path时,才会维护存储桶列表,否则将返回None。
(str[]/None)
- 返回存储桶列表或None
具有基础路径
我们可以这样获取具有指定基础路径的存储
from tableschema_spss import Storage
storage_base_path = 'path/to/storage/dir'
storage = Storage(storage_base_path)
然后我们可以与存储桶进行交互(在此上下文中,“存储桶”是指SPSS .sav/.zsav文件)
storage.buckets # list buckets in storage
storage.create('bucket', descriptor)
storage.delete('bucket') # deletes named bucket
storage.delete() # deletes all buckets in storage
storage.describe('bucket') # return tableschema descriptor
storage.iter('bucket') # yields rows
storage.read('bucket') # return rows
storage.write('bucket', rows)
没有基础路径
我们也可以这样创建没有基础路径的存储
from tableschema_spss import Storage
storage = Storage() # no base path argument
然后我们可以直接通过传递文件路径(而不是存储桶名称)来指定SPSS文件
storage.create('data/my-bucket.sav', descriptor)
storage.delete('data/my-bucket.sav') # deletes named file
storage.describe('data/my-bucket.sav') # return tableschema descriptor
storage.iter('data/my-bucket.sav') # yields rows
storage.read('data/my-bucket.sav') # return rows
storage.write('data/my-bucket.sav', rows)
请注意,没有基础路径的存储不会维护内部存储桶列表,因此调用storage.buckets
将返回None
。
读取.sav文件
读取SPSS数据时,SPSS日期格式DATE
、JDATE
、EDATE
、SDATE
、ADATE
、DATETIME
和TIME
将转换为适当的Python date
、datetime
和time
对象。
其他SPSS日期格式WKDAY
、MONTH
、MOYR
、WKYR
、QYR
和DTIME
不支持原生转换,将作为字符串返回。
创建.sav文件
从表模式创建SPSS文件时,date
、datetime
和time
字段类型必须具有以下模式的格式属性
date
:%Y-%m-%d
datetime
:%Y-%m-%d %H:%M:%S
time
:%H:%M:%S.%f
传递给storage.create()
的表模式描述符应包含自定义spss:format
属性,定义数据预期的SPSS类型格式。例如。
{
"fields": [
{
"name": "person_id",
"type": "integer",
"spss:format": "F8"
},
{
"name": "name",
"type": "string",
"spss:format": "A10"
},
{
"type": "number",
"name": "salary",
"title": "Current Salary",
"spss:format": "DOLLAR8"
},
{
"type": "date",
"name": "bdate",
"title": "Date of Birth",
"format": "%Y-%m-%d",
"spss:format": "ADATE10"
}
]
}
贡献
项目遵循开放知识国际编码标准。
开始项目的推荐方法是创建和激活项目虚拟环境。要将包和开发依赖项安装到活动环境中
$ make install
要运行测试并执行代码检查和覆盖率分析
$ make test
对于代码检查,使用在pylama.ini
中配置的pylama
。在此阶段,它已安装到您的环境中,并可以单独使用,如文档中所述 - https://pylama.readthedocs.io/en/latest/。
例如,按错误类型排序结果
$ pylama --sort <path>
对于测试,使用在tox.ini
中配置的tox
。它已安装到您的环境中,并可以单独使用,如文档中所述 - https://testrun.org/tox/latest/。
例如,以增加详细程度检查Python 2环境的子集测试。所有位置参数和选项在--
之后都将传递给py.test
tox -e py27 -- -v tests/<path>
在内部,tox
使用在pytest.ini
中配置的pytest
、coverage
和mock
包。这些包仅在tox环境中可用。
变更日志
此处仅描述破坏性和最重要的更改。有关所有已发布版本的完整变更日志和文档,可以在格式良好的提交历史记录中找到。
v1.0
- 初始驱动程序版本
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
tableschema-spss-1.0.14.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b9c1d4c8b1dc9fc445961212ad4c1673ecc9aab861bc85e57eb2888f9cb573ea |
|
MD5 | 147e8831dced4790263f490b02ae6ce7 |
|
BLAKE2b-256 | c47cd5466108f55b2a92c86dc3e32888c4087c4642682a47752f5adee7a4c934 |
tableschema_spss-1.0.14-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7decca6399925dafd641a90138658a81e03d78958a53d8e82e963c8360a950d9 |
|
MD5 | 7ec6b051888eebb1dfc9422d3ddd2e41 |
|
BLAKE2b-256 | 0918a177547c2228ebe4038dc2548fa7d5e20f4fef10073dd9024efdd483ae7d |