【问题标题】:R XML parsing to data-frameR XML解析为数据框
【发布时间】:2020-05-27 23:31:51
【问题描述】:

我有各种 XML 文件,其中包含如下所示的信息。我很难将这种可变 XML 格式解析为可以处理不同数量的指标和重复的属性标签的数据框。

  <ProducedFruits>
    <FruitType>
      <FruitName>Apple</FruitName>
      <FruitMetrics>
        <Properties Sugars="27.51" Rate="5.03" />
        <Properties Sugars="219.39" Rate="12.19" />
        <Properties Sugars="266.34" Rate="75.9" />
      </FruitMetrics>
    </FruitType>
    <FruitType>
      <FruitName>Lime</FruitName>
      <FruitMetrics>
        <Properties Sugars="1884.2" Rate="5" />
        <Properties Sugars="1884.2" Rate="98.3" />
      </FruitMetrics>
    </FruitType>
    <FruitType>
      <FruitName>Lemon</FruitName>
      <FruitMetrics>
        <Properties Sugars="1064.77" Rate="5" />
        <Properties Sugars="1064.77" Rate="56" />
      </FruitMetrics>
    </FruitType>
    <FruitType>
      <FruitName>Banana</FruitName>
      <FruitMetrics>
        <Properties Sugars="113" Rate="12" />
        <Properties Sugars="113" Rate="79" />
      </FruitMetrics>
    </FruitType>
  </ProducedFruits>

每个文件可能有些不同,所以理想情况下,我会创建一些可以处理不一致数量的值的东西,同时保留水果名称并创建一个类似于底部的数据框。

enter image description here

【问题讨论】:

  • 这能解决您的问题吗?使用 data &lt;- XML::xmlParse("doc.xml") 将 xml 数据传递到 R,然后使用 XML::xml_data &lt;- xmlToList(data) 将列表绑定在一起(每个 stackoverflow.com/questions/17198658/…
  • @jared_mamrot 是的!非常有帮助,谢谢!
  • 太棒了 - 我会把它作为答案发布:)

标签: r xml parsing


【解决方案1】:

要将您的 xml 作为数据框传递给 R,您可以使用 XML 包 (https://cran.r-project.org/web/packages/XML/),例如data &lt;- XML::xmlParse("doc.xml") 然后将列表与xml_data &lt;- XML::xmlToList(data) 然后xml_df &lt;- as.data.frame(xml_data) 绑定在一起(per:How to parse XML to R data frame

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 2015-10-07
    • 2019-03-05
    相关资源
    最近更新 更多