我没有任何代码可以发布,但只有一个问题。我知道有几个工具可以读取R中的SDMX文件( SDMX是用于交换统计数据的XML文件),例如
https://github.com/opensdmx/rsdmx
https://github.com/amattioc/SDMX
但是,有没有人知道将一些数据导出为SDMX格式以便分发的方法?欢迎任何建议!
发布于 2021-05-29 19:10:09
这不是一个‘纯’R解决方案,但是Python包可以通过reticulate完全使用,并允许以编程方式生成sdmx1对象,然后将它们序列化为SDMX-ML (XML)。例如:
# Use reticulate to import the Python package
> library(reticulate)
> sdmx <- import("sdmx")
# Create an (empty) DataMessage object
> msg <- sdmx$message$DataMessage()
# Convert to XML
> xml <- sdmx$to_xml(msg, pretty_print = TRUE)
# Write to file using the built-in R method
# The Python 'bytes' object must be decoded to a string
> write(xml$decode(), file = "message.xml")这将产生如下输出:
<mes:GenericData xmlns:com="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:data="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" xmlns:str="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure" xmlns:mes="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message" xmlns:gen="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" xmlns:footer="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mes:Header>
<mes:Test>false</mes:Test>
</mes:Header>
</mes:GenericData>有关使用sdmx1创作更复杂消息的更多信息,请参阅文档中的页面“HOWTO Generate SDMX-ML from Python objects”。
https://stackoverflow.com/questions/67202883
复制相似问题