跳转到主要内容

基于Table Schema描述符生成CKAN DataStore表,加载数据和提取数据。

项目描述

tableschema-ckan-datastore-py

Travis Coveralls PyPi Github Gitter

根据 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 接口(请参阅链接中的完整文档)

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 密钥的环境变量。

贡献

项目遵循 Open Knowledge International 编码标准

推荐的入门方式是创建并激活项目虚拟环境。要将软件包和开发依赖项安装到活动环境中

$ 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 (9.8 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持