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

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持久性。xml vs DispatcherServlet   java对数算法   java UDP聊天程序不同网络不能聊天   java检查PreparedStatement中的所有占位符是否已填充   java如何编写适当的OOP代码以避免字段初始化问题?   java程序没有显示它应该显示的所有内容   java ASM跳过某些方法的代码   带有Sockjs和spring4但没有Stomp的javawebsocket   java如何将字符串值从Form1传递到Form2类?   采用不同方法的java泛型   java如何使用org。阿帕奇。平民数学3。分配   使用java swing jdk 1.4的调度器   对于模拟对象,java Mockito rest模板始终为空   java在多级继承中调用方法的哪个版本?   java Spring引导问题使用AuthenticationSuccessHandler重定向到外部URL   java你能告诉我代码中的问题是什么吗   java Hadoop map减少总客户数量