基于Table Schema描述符生成CKAN DataStore表,加载数据和提取数据。
项目描述
tableschema-ckan-datastore-py
根据 Table Schema 描述符生成和加载 CKAN DataStore 表。
特性
- 实现了
tableschema.Storage
接口
内容
入门
安装
本软件包使用语义版本控制。这意味着主版本可能包含破坏性更改。强烈建议在您的 setup/requirements
文件中指定 package
版本范围,例如 package>=1.0,<2.0
。
pip install tableschema-ckan-datastore
文档
在写入数据时,tableschema-ckan-datastore 使用 CKAN API datastore_upsert
端点 的 upsert
方法。这需要一个由 Table Schema 主键属性 定义的唯一键。如果您的数据有主键,您可以使用 table.save
方法
from tableschema import Table
# Load and save CKAN DataStore record
resource_id = 'bd79c992-40f0-454a-a0ff-887f84a792fb'
base_url = 'https://demo.ckan.org'
dataset_id = 'test-dataset-010203'
api_key = 'my-ckan-user-api-key'
table = Table('data.csv', schema='schema.json') # data.csv has primary keys
table.save(resource_id,
storage='ckan_datastore',
base_url=base_url,
dataset_id=dataset_id,
api_key=api_key)
如果您需要定义用于将数据保存到 DataStore 的方法,您可以直接创建 tableschema.Storage
对象并指定要使用的参数方法
import io
import json
from tabulator import Stream
from tableschema import Storage
# Load and save CKAN DataStore record
resource_id = 'bd79c992-40f0-454a-a0ff-887f84a792fb'
base_url = 'https://demo.ckan.org'
dataset_id = 'test-dataset-010203'
api_key = 'my-ckan-user-api-key'
schema = json.load(io.open('schema.json', encoding='utf-8'))
data = Stream('data.csv', headers=1).open()
storage = Storage.connect('ckan_datastore',
base_url=base_url,
dataset_id=dataset_id,
api_key=api_key)
storage.create(resource_id, schema, force=True))
storage.write(resource_id, data, method='insert') # specify the datastore_upsert method
API 参考文档
存储
Storage(self, base_url, dataset_id=None, api_key=None)
CKAN Datastore 存储
包实现了 Tabular Storage 接口(请参阅链接中的完整文档)
仅记录了附加 API
参数
- base_url (str):
- CKAN 实例的基础 URL(和方案)(例如 http://demo.ckan.org)。
- dataset_id (str):我们希望用作存储桶源的 CKAN 数据集的 id 或名称。如果缺失,则使用 DataStore 中的所有表。
- api_key (str):CKAN 用户 api 密钥或,如果格式为
env:CKAN_API_KEY_NAME
,则是一个定义 api 密钥的环境变量。
贡献
推荐的入门方式是创建并激活项目虚拟环境。要将软件包和开发依赖项安装到活动环境中
$ make install
要运行具有 linting 和 coverage 的测试
$ make test
变更日志
此处仅描述破坏性和最重要的更改。完整变更日志和所有已发布版本的文档可以在格式良好的 提交历史 中找到。
v1.1
- 增加存储桶的最大大小到 100 个资源
v1.0
- 初始驱动程序实现
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。
源分布
tableschema-ckan-datastore-1.1.1.tar.gz (10.8 kB 查看哈希值)
构建分布
关闭
散列 用于 tableschema_ckan_datastore-1.1.1-py2.py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | cdf8c3e13984e045a583942f379bf20be06b8d5acf8268b5853a258b1304ee4c |
|
MD5 | 5fd3863b30471af7e0bff2c9b93c52be |
|
BLAKE2b-256 | 2f1c7e1ca5ad1442ef1314652e61f63ed6357515f32e34a89c4c042187676a30 |