【问题标题】:reading a subset of files within a folder using R使用 R 读取文件夹中的文件子集
【发布时间】:2017-12-05 16:03:09
【问题描述】:

我对 R 很陌生,我希望构建一个 R 脚本,该脚本采用包含 3 个元素的 csv 文件:

Id
Type
Filename

DataFrame 的内容类似于:

14261336    5   Test1.xml
16767594    8   Test2.xml
13601470    7   Test3.xml
12963658    5   Test4.xml
17771952    6   Test5.xml

我尝试使用以下代码来获取文件名,然后使用这些代码来解析 XML,但我似乎遇到了一点困难(由于我对 R 的缺乏经验):

headerNames <- c('Id','Type','Filename')
GetNames <- read.csv(file= 'c:/temp/XML/myXMLFiles.csv', header = FALSE, col.names = headerNames) #

list(c(GetNames[3])) %>%
  map(read_xml)

结果是我收到消息: UseMethod("read_xml") 中的错误: 没有适用于“list”类对象的“read_xml”方法

请各位专家指出正确的方向吗?

非常感谢

【问题讨论】:

  • 您需要将文件名从列表中分出,以便 read_xml() 获取字符串。

标签: r xml-parsing


【解决方案1】:

您通常只能从字符串中读取数据。此外,要读取 xml,您将需要 xml-library 中的 xmlParse():

library(XML)  # install it with install.packages("XML") if needed
files_inp <- as.character(GetNames[,3]) # you will need the filenames as character

for (f in files_inp) {
  assign(paste0("file",f), xmlParse(file = f))  # I never read XML files, but that should work! :-)
}

您的输出数据应该是名为 file1、file2、...的变量

希望有帮助!

【讨论】:

  • 对不起,应该包括我已经加载了 XML2 库。我会看看这种方法。谢谢
猜你喜欢
  • 2013-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多