通过映射将平面数据映射到结构化json。
jsonmapping的Python项目详细描述
#Jsonmapping[![构建状态](https://travis-ci.org/pudo/jsonmapping.svg?branch=master)(https://travis ci.org/pudo/json mapping)
要将平面数据结构转换为与json
模式定义匹配的嵌套对象图,此包定义了一种映射语言。它定义了如何将源数据集的列(如csv文件、数据库表)转换成json模式的字段。它还支持
非常基本的数据转换步骤的应用,例如生成
url slug或散列值。
“schema”:{“$ref”:“http://www.popoloproject.com/schemas/person.json”},
“mapping”:{
“id”:{“column”:“person_id”},
“name”:{“column”:“person_name”},
“memberships”:[{
“mapping”:{
“role”:{“default”:“组织成员”},
“组织”:{
“映射”:{
“id”:{
“列”:[“组织id”],
“常量”:“默认组织”
},
“名称”:{
“列”:“组织名称”,
“常量”:“默认组织”,
“transforms”:[“strip”]
}
}
}
}
}
}
}
}
````
在组织中拥有
成员资格。
其中包括:
*``coalesce`:从项目列表中选择第一个非空值。
*``slugify`:将每个字符串转换为url slug格式。
*``join``:合并所有选定列的字符串值。
*``upper`:将文本转换为大写。
*``lower`:将文本转换为小写。
*`` strip``:删除前导和尾随空白。
*`` hash``:生成给定值的sha1哈希。
\从jsonmapping import mapper的refresolver
加载映射…
mapping=load_mapping()
resolver=refresolver.from_schema(mapping)
抓取一些数据……
rows=read_csv()
obj s=[]
这将把平面数据行转换成嵌套的json对象:
对于obj,错误出现在mapper.apply(rows,映射,解析器)iter(rows,映射,解析器):
>如果错误为none:
objs.append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)appappappend(obj)
```````
;测试以及执行覆盖率检查和测试。要在安装了“virtualenv`
和“make`”的系统上执行,请键入:
``bash
$make test
``
要将平面数据结构转换为与json
模式定义匹配的嵌套对象图,此包定义了一种映射语言。它定义了如何将源数据集的列(如csv文件、数据库表)转换成json模式的字段。它还支持
非常基本的数据转换步骤的应用,例如生成
url slug或散列值。
“schema”:{“$ref”:“http://www.popoloproject.com/schemas/person.json”},
“mapping”:{
“id”:{“column”:“person_id”},
“name”:{“column”:“person_name”},
“memberships”:[{
“mapping”:{
“role”:{“default”:“组织成员”},
“组织”:{
“映射”:{
“id”:{
“列”:[“组织id”],
“常量”:“默认组织”
},
“名称”:{
“列”:“组织名称”,
“常量”:“默认组织”,
“transforms”:[“strip”]
}
}
}
}
}
}
}
}
````
在组织中拥有
成员资格。
其中包括:
*``coalesce`:从项目列表中选择第一个非空值。
*``slugify`:将每个字符串转换为url slug格式。
*``join``:合并所有选定列的字符串值。
*``upper`:将文本转换为大写。
*``lower`:将文本转换为小写。
*`` strip``:删除前导和尾随空白。
*`` hash``:生成给定值的sha1哈希。
\从jsonmapping import mapper的refresolver
加载映射…
mapping=load_mapping()
resolver=refresolver.from_schema(mapping)
抓取一些数据……
rows=read_csv()
obj s=[]
这将把平面数据行转换成嵌套的json对象:
对于obj,错误出现在mapper.apply(rows,映射,解析器)iter(rows,映射,解析器):
>如果错误为none:
objs.append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)append(obj)appappappend(obj)
```````
;测试以及执行覆盖率检查和测试。要在安装了“virtualenv`
和“make`”的系统上执行,请键入:
``bash
$make test
``