跳转到主要内容

SSV代表分隔符分隔值。

项目描述

Python分隔符分隔值包

https://img.shields.io/pypi/v/ssv.svg https://img.shields.io/travis/sfischer13/python-ssv.svg

摘要

SSV代表分隔符分隔值。这听起来像是一个笑话,但实际上很有用。

描述

SSV是一种将表格数据(平面文件数据库)保存为纯文本文件中的分隔符分隔值的格式。与其他格式(如CSVTSV)相比,分隔符冲突几乎不可能发生。SSV不使用逗号(CSV)、制表符(TSV)和换行符,而是使用记录分隔符 RS 和单元分隔符 US 来进行 数据结构,这在文本数据中根本不应该出现。

该格式是ASCII分隔文本的一个示例。ASCII分隔文本没有官方标准,SSV会做出可能被认为是具有争议性的决定。总的来说,简单性和易于实现是优先考虑的,而不是其他因素。例如,SSV不支持对RSUS的转义。

格式

SSV文件可以用以下W3C EBNF正式描述

SSV      ::= Record (RS Record)*
Record   ::= Unit (US Unit)*
Unit     ::= UnitChar*

UnitChar ::= Char - (RS | US)
Char     ::= /* see http://www.w3.org/TR/xml#NT-Char */
RS       ::= #x1E
US       ::= #x1F

表记录(行)由记录分隔符RS分隔。每个记录包含一个或多个单元(字段),这些单元由单元分隔符US分隔。一个单元可以包含零个或多个字符,不包括RS和US。因此,一个空文件是有效的SSV文件,表示一个1行1列的表,其中包含一个空字段。

API示例

import ssv

# simple table
table = [['A1', 'B1', 'C1'],
         ['A2', 'B2', 'C2']]

# encode table as SSV string
ssv.dumps(table)  # 'A1\x1fB1\x1fC1\x1eA2\x1fB2\x1fC2'

# write table to SSV file
ssv.dumpf(table, 'data.ssv')
# load table from SSV file
new_table = ssv.loadf('data.ssv')
assert table == new_table

历史

0.1.1 (2016-05-29)

  • 改进文档。

0.1.0 (2016-05-29)

  • 首次发布在PyPI。

项目详情


下载文件

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

源分发

ssv-0.1.1.tar.gz (5.2 kB 查看哈希值)

上传时间:

构建分发

ssv-0.1.1-py3-none-any.whl (6.8 kB 查看哈希值)

上传时间: Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面