DCAT到进气目录转换层

intake-dcat的Python项目详细描述


进气DCAT

Binder

这是一个intakeDCAT目录的数据源。

这些目录是描述元数据和访问信息的标准格式 对于公共数据集,如here所述。 许多socrata和esri数据门户以这种格式发布描述其目录的data.json文件。 这两个例子可以在

https://data.lacity.org/data.json

http://geohub.lacity.org/data.json

这个项目为用户提供了一种自以为是的方法,可以将这些目录中的数据集加载到科学python生态系统中。 目前,它将csv加载到pandas数据帧中,将geojson文件加载到geodataframes中,并将esri shapefile加载到geodataframes中。 未来的格式可能包括纯json和拼花。

要求

intake >= 0.4.4
intake_geopandas >= 0.2.2
geopandas >= 0.5.0

安装

intake-dcat在pypi上发布。 您可以在终端中运行以下命令来安装它:

pip install intake-dcat

您可以通过打开examples/目录中的示例笔记本来测试功能:

使用量

可以使用

fromintake_dcatimportDCATCatalog

加载目录

您可以通过提供指向data.json文件的url从dcat目录加载数据:

catalog=DCATCatalog('http://geohub.lacity.org/data.json',name='geohub')len(list(catalog))

您可以显示目录中的项目

forentry_id,entryincatalog.items():display(entry)

如果目录中的条目太多,无法同时轻松打印所有条目, 您可以通过搜索术语(例如“地区”)缩小范围:

forentry_id,entryincatalog.search('district').items():display(entry)

加载数据集

一旦确定了数据集,就可以使用read()

将其加载到数据帧中。
df=entry.read()

这将根据源格式自动将该数据集加载到pandas数据帧或geodataframe中。

命令行界面

intake-dcat为一些常见操作提供了一个小的命令行接口。 使用intake-dcat <subcommand> <options>

命令mirror

此命令加载一个清单文件,其中列出一组dcat条目, 将它们上载到指定的s3 bucket,并输出具有相同条目的新目录 指着水桶。

清单示例由

# Name of the LA open data portal
la-open-data:
  # URL to the open data portal catalog
  url: https://data.lacity.org/data.json
  # The s3 bucket to upload the data to
  bucket_uri: s3://my-bucket
  # A list of data resources to mirror
  items:
    lapd_metrics: https://data.lacity.org/api/views/t6kt-2yic
# Name of the LA GeoHub data portal
la-geohub:
  # URL to the open data portal catalog
  url: http://geohub.lacity.org/data.json
  # The s3 bucket to upload the data to
  bucket_uri: s3://my-bucket
  # A list of data resources to mirror
  items:
    bikeways: http://geohub.lacity.org/datasets/2602345a7a8549518e8e3c873368c1d9_0 
    city_boundary: http://geohub.lacity.org/datasets/09f503229d37414a8e67a7b6ceb9ec43_7

可以使用命令对其进行镜像

intake-dcat mirror manifest.yml > new-catalog.yml

此命令使用boto3库并假定它可以找到aws凭据。 有关详细信息,请参见this documentation

命令create

此命令从DCAT目录创建新的进气目录,并将其输出到标准输出。 示例命令由

intake-dcat create data.lacity.org/data.json > catalog.yml

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

推荐PyPI第三方库


热门话题
javajaxb在嵌套节点中生成xmlns:xsi声明   java重定向到youtube以上传jsp上可用的视频   java提高了JVM和ANT的性能   java如何将返回的JSON数据放在HTML表单中   java如何发送XWWWFORMURLENCODE在重新授权   java为什么jvm XX:+EliminateAllocations失败   堆移除和重建方法?(爪哇)   Stanford NPL in Spark(Scala)应用程序运行到Java堆空间(Java.lang.OutOfMemoryError)   调试java中打开/关闭println的任何方式(详细模式)   java IntelliJ在鼠标悬停时显示JavaDocs工具提示   Olingo Odata Java中的自动扩展选项   json将postgres文本arry转换为java列表?   oop需要帮助推断Java代码   复选框的java添加操作侦听器AbstractTableModel   java如何从公共静态void main(String[]args)传递值   java从数据库中获取大值   java Processing 2.0电影从jar运行时无法打开电影文件   java如何在不使用应用程序的情况下刷新活动?   尝试将JSON解析为ListView时的Android:JSON parse:null对象引用