从R中的xml创建数据框

时间:2018-02-20 17:52:25

标签: r xml dataframe

R新手...我在R中从xml文件创建数据框时遇到问题。寻求帮助。我的代码如下。从这个特定的xml文件创建数据框后,我需要将多个其他(类似格式化的)xml文件添加到同一个数据框中。任何帮助非常感谢。感谢

代码:

library(XML)     # ONLY PACKAGE NEEDED

# library(plyr)


urls <- c("https:_file_.xml")


data <- (read_xml(urls))


df_list <- lapply(urls, function(x) {
  penalty_reports <- xmlParse(data)
  df <- xmlToDataFrame(nodes=getNodeSet(penalty_reports, "//Result"))
})


penalties_df <- do.call(rbind, df_list)

# final_df <- plyr::rbind.fill(df_list) 

1 个答案:

答案 0 :(得分:0)

您的XML相当扁平,因此请考虑使用XML xmlToDataFrame()。要组合多个文件,请使用lapply构建数据框列表,并从URL列表中进行解析。然后,行绑定所有数据框元素do.call(rbind, ...),假设所有字段都相同。如果不使用plyr&#39; rbind.fill

library(XML)    # ONLY PACKAGE NEEDED
# library(plyr)

urls <- c("https://_file1_.xml", "https://_file2_.xml", "https://_file3_.xml")

df_list <- lapply(urls, function(url) {
   penalty_report <- xmlParse(readLines(url))
   df <- xmlToDataFrame(nodes=getNodeSet(penalty_report, "//Result"))
})

final_df <- do.call(rbind, df_list)
# final_df <- plyr::rbind.fill(df_list)