从多个 XML 文件创建文本数据框
Creating a text data frame from multiple XML files
我正在尝试在 R 中创建一个数据框,其中包含来自多个 xml 文件的文本。我试图创建一个读取 xmls 并使用 xml2 包中的 xml_text 的函数。这是我的代码:
read_texts <- function(folder) {
dir_ls(folder, glob = "*.xml") %>%
map_dfr(
read_xml(.) %>%
xml_text(., trim = TRUE) %>%
tibble()
)
}
read_texts_n <- Vectorize(read_texts)
read_texts_n("forfatterskab")
当我这样做时,我仍然收到错误消息:
Error: `x` must be a string of length 1
如何获取加载文件的代码。目的是制作一个包含所有文本的数据框。我没有使用 XML.
的经验
我认为您不需要 Vectorize
您的功能,因为您正在使用 map_dfr
。
尝试使用以下函数。
library(xml2)
read_texts <- function(folder) {
list.files(folder, pattern = '\.xml$', full.names = TRUE) %>%
map_dfr(~.x %>% read_xml() %>% xml_text(trim = TRUE) %>%tibble())
}
result <- read_texts_n("forfatterskab")
我唯一的疑问是您传递文件夹名称的方式。通常,我希望您将完整的文件夹路径传递给该函数。类似于 read_texts_n('Users/username/folder_name')
.
我正在尝试在 R 中创建一个数据框,其中包含来自多个 xml 文件的文本。我试图创建一个读取 xmls 并使用 xml2 包中的 xml_text 的函数。这是我的代码:
read_texts <- function(folder) {
dir_ls(folder, glob = "*.xml") %>%
map_dfr(
read_xml(.) %>%
xml_text(., trim = TRUE) %>%
tibble()
)
}
read_texts_n <- Vectorize(read_texts)
read_texts_n("forfatterskab")
当我这样做时,我仍然收到错误消息:
Error: `x` must be a string of length 1
如何获取加载文件的代码。目的是制作一个包含所有文本的数据框。我没有使用 XML.
的经验我认为您不需要 Vectorize
您的功能,因为您正在使用 map_dfr
。
尝试使用以下函数。
library(xml2)
read_texts <- function(folder) {
list.files(folder, pattern = '\.xml$', full.names = TRUE) %>%
map_dfr(~.x %>% read_xml() %>% xml_text(trim = TRUE) %>%tibble())
}
result <- read_texts_n("forfatterskab")
我唯一的疑问是您传递文件夹名称的方式。通常,我希望您将完整的文件夹路径传递给该函数。类似于 read_texts_n('Users/username/folder_name')
.