用于在电子表格中存储结构化数据的数据格式

metatab的Python项目详细描述


https://travis-ci.org/Metatab/metatab.svg?branch=master

以表格格式解析和操作结构化数据和元数据。

Metatab是一种允许结构化 元数据(通常存储在json、yaml或xml中的类型)将被存储 并以csv或excel等表格形式进行编辑。metatab文件看起来与 你会预料到的,所以它们对非技术用户来说很容易阅读和编辑, 使用他们已经有的工具。metatab是一种很好的创建格式, 存储和传输元数据。有关metatab的更多信息,请访问 http://metatab.org

这个存储库有一个python模块和可执行文件。对于javascript版本, 请参阅metatab-js存储库。

metatab的用途是什么?

metatab是一种表格格式,允许存储人口统计的元数据, 表格格式的健康和研究数据集。表格格式很多 更易于数据创建者编写和数据使用者读取,并且它允许 要存储在单个excel文件中的完整数据包。

安装

使用以下命令从pipy安装软件包:

$ pip install metatab

或者,使用以下命令从github安装主分支:

$ pip install https://github.com/CivicKnowledge/metatab.git

然后使用远程文件测试解析,并使用:

$ metatab -j https://raw.githubusercontent.com/CivicKnowledge/metatab/master/test-data/example1.csv

运行metatab -h以获取其他程序选项。

test-data目录中有一些测试文件,这些文件还用作 分析。您可以克隆repo并从文件中解析它们,或者从 github页面中的文件,单击raw按钮以获取 flie,然后复制url。

运行测试

运行python setup.py tests以运行正常的开发测试。你也可以跑 tox,它将尝试使用python 3.4、3.5和3.6运行测试,忽略 不存在的译员。

Docker开发测试

在开发其他版本的python时进行测试有点麻烦, 因为您必须安装备用版本,tox将运行 测试,不仅仅是你想要的。

解决这个问题的一个方法是在本地安装Docker,然后运行Docker 源目录上的测试容器。这是从 在metatab/test中生成文件,只需运行:

$ cd metatab/test
$ make build # to create the container image
$ make test# or just ..
$ make

您还可以运行容器shell,并从命令行运行测试。

$ cd metatab/test
$ make build # to create the container image
$ make shell # to run bash the container

现在有了一个docker容器,/code目录是metatab source dir。

现在,运行tox来构建tox虚拟环境,然后输入您想要的特定版本 对虚拟环境运行测试并激活。

# tox
# cd .tox/py34
# source bin/activate # Activate the python 3.4 virtual env
# cd ../../
# python setup.py test # Cause test deps to get installed
#
# python -munittest metatab.test.test_parser.TestParser.test_parse_everython  # Run one test

请注意,您的开发环境已装载到Docker容器中,因此您可以编辑本地 文件并测试Docker中的更改。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Microsoft Office Word或Excel文档中查找突出显示的文本   Java反射:获取方法返回参数的类型   java根据从字符串解析的日期对ArrayList<String>进行排序   不带IDE JSONObject的json JAVA   Selenium检查属性是否包含java中字符串的一部分   java Hibernate在使用@PostConstruct时找不到绑定到线程的会话   java频繁访问对象属性会带来成本吗?   java如何使用spring boot从json更新数据   Android Studio中的java适当边距布局   java spring引导无法在spring测试类中注入spring服务   java在插入排序中删除重复项   如何在JAVA中重写异常类方法   java Guava缓存内存泄漏   多线程处理三个必须并行执行的任务completableFuture,如果其中任何一个在java中引发异常,则全部取消