小编dav*_*vid的帖子

R:使用 xml2、doParallel 和 foreach 并行读取 xml 文件

目前我正在开发一个小型 R 项目,从 Word 文件中读取一些信息。由于这些是底层的压缩 xml 文件,我认为使用 R 来完成这个任务会非常容易。我的脚本基本上可以工作,但我想提高它的速度,所以我查看了 和doParallelforeach

library(foreach)
library(doParallel)

cores <- detectCores()
cl <- makeCluster(cores - 1)
registerDoParallel(cl)


file_list <- list.files(path = "/path/to/word/files", pattern = glob2rx("*.docx"), ignore.case = TRUE, full.names = TRUE, recursive = TRUE)


final <- foreach(
  filename = file_list[1:4], .combine = rbind, .packages = c("stringr", "xml2", "tibble"),
  .verbose = T, .inorder = FALSE
) %dopar% {

  name <- str_extract(filename, "[0-9a-f]{40}")


  # doc <- read_xml(unzip(zipfile = filename,  files = c("word/document.xml")), encoding = …
Run Code Online (Sandbox Code Playgroud)

foreach r doparallel xml2

5
推荐指数
0
解决办法
145
查看次数

标签 统计

doparallel ×1

foreach ×1

r ×1

xml2 ×1