Skip to main content

数据的包管理命令。

项目描述

# infinity-data

这是一个简单的包,可以帮助读取 Infinity 数据格式并获取这种格式的数据。

## 快速入门

### 获取数据

只需`pip install infdata`,然后开始获取数据。

例如,
```
$ inf pull example.com/posts==crawler-1.0.0
```

会从 `example.com/posts`, `crawler-1.0.0` 版本中提取帖子记录。

### 发布数据
```
$ int init # 启动文件夹 .inf/
$ inf login # 将令牌保存到 .inf/config
$ inf search example.com/posts # 搜索数据集版本
$ inf push file.json # 上传 Infinity JSON 或 JSON-L 数据到指定的无限服务器
```

**注意:** 标记 `['example.com/posts', 'crawler-1.0.0']` 共同定义了一个独特的 `[source-specific, crawler-specific]` 架构。

# Infinity JSON

Infinity JSON 格式包括一个标题行,它指定其记录的模式 (`[S]`) 和类型 (`[T]`)。

示例:

```
[
{'':[[S],[T],'x':[[S],[T]],'y':[{'':[[S],[T] ], 'z': [[S],[T]]}]},
{'x': '1,330.98', 'y': [{'z': 1}, {'u': 2}]} ,
{'x': '2,011.19', 'y': [{'z': 4}, {'u': 3}]},
]
```

空字符串键 `'' 的模式、类型规范

这样,如果我们想指定 `x` 必须转换为 `float`,并且表示 [elevation](https://www.wikidata.org/wiki/Q2633778),我们可以这样做:

` ``
[
{'':[],'x':{'':[['str'],['https://www.wikidata.org/wiki/Q2633778']]}},
{'x' : '1,330.98', 'y': [{'z': 1}, {'u': 2}]},
{'x': '2,011.19', 'y': [{'z': 4}, {'u': 3}]},
]
```

如果要额外添加转换规则,可以在最终类型后面加上 lambda 表达式:

```
[
{'': [], 'x': { '': [['float', "lambda x: x.replace(',','')"],['https://www.wikidata.org/wiki/Q2633778']]}},
{'x': '1,330.98', 'y': [{'z': 1}, {'u': 2}]},
{'x': '2,011.19', 'y': [{'z': 4}, {'u': 3}]},
]
```

] ``` # Infinity CSV有时我们想在 CSV 中包含模式和类型(`S`, `T`)。在这种情况下,我们使用 `|` 来分隔它们:``` Column Name|S|T, ```






























例如:

```
Name||,Surname||,
```

如果我们想强制执行一些规则,我们可以这样做:

```
Name|str|https://www.wikidata.org/wiki/Q82799 ,姓|str,lambda x: x[:10]|https://www.wikidata.org/wiki/Q101352,
```

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

infdata-1.0.12.tar.gz (16.4 kB 查看哈希

已上传 source