【问题标题】:Cannot read Statistics Canada sdmx file无法读取加拿大统计局 sdmx 文件
【发布时间】:2022-01-23 06:57:35
【问题描述】:

我正在尝试从Statistics Canada 读取一些加拿大人口普查数据 (“加拿大、省和地区”地理级别的 XML 选项)。我看到 xml 文件是 SDMX 格式的,并且提供了一个结构文件,但我不知道如何从 xml 文件中读取数据。

在 Python 中似乎有 2 个选项,pandasdmx 和 sdmx1,它们都说它们可以读取本地文件。当我尝试时

import sdmx

datafile = '~/Documents/Python/Generic_98-401-X2016059.xml'

canada = sdmx.read_sdmx(datafile)

它似乎读取了前 903 行,然后产生以下内容:

Traceback (most recent call last):
  File "/home/username/.local/lib/python3.10/site-packages/sdmx/reader/xml.py", line 238, in read_message
    raise NotImplementedError(element.tag, event) from None
NotImplementedError: ('{http://www.SDMX.org/resources/SDMXML/schemas/v2_0/message}GenericData', 'start')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/username/.local/lib/python3.10/site-packages/sdmx/reader/__init__.py", line 126, in read_sdmx
    return reader().read_message(obj, **kwargs)
  File "/home/username/.local/lib/python3.10/site-packages/sdmx/reader/xml.py", line 259, in read_message
    raise XMLParseError from exc
sdmx.exceptions.XMLParseError: NotImplementedError: ('{http://www.SDMX.org/resources/SDMXML/schemas/v2_0/message}GenericData', 'start')

这是因为我没有加载 sdmx 文件的结构(来自上面 StatsCan 链接的 zip 文件中的 Structure_98-401-X2016059.xml)吗?如果是这样,我该如何加载它并告诉 sdmx 在阅读 datafile 时使用它?

sdmx 和 pandasdmx 的文档只显示了从在线提供商而不是从本地文件加载文件的示例,所以我被卡住了。我对 python 的了解有限,因此非常感谢任何帮助。

作为参考,我可以使用rsdmx github 中的说明在 R 中读取文件。我希望能够在 Python 中做同样/类似的事情。

提前致谢。

【问题讨论】:

  • 道歉;我已在主要问题中添加了相关部分并删除了评论。

标签: python sdmx


【解决方案1】:

从对文档的粗略检查来看,加拿大统计局似乎不是默认包含的来源之一。但是有一个sdmx.add_source 函数。我建议您尝试一下(在加载数据之前)。

【讨论】:

  • 谢谢。我不确定这是否可行,因为加拿大统计局网站提供了包含数据和结构文件的 zip 文件。
【解决方案2】:

As per the sdmx1 developer,StatsCan 正在使用旧的、不受支持的 SDMX 版本 (v. 2.0)。当前版本是 2.1,而 rsdmx1 仅支持此版本(也将支持即将发布的 v.3)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 2014-07-11
    • 1970-01-01
    相关资源
    最近更新 更多