使用docxtractr时,请同时保留源.docx文件名和注释数据

时间:2019-06-16 21:39:40

标签: r

我有一个1000行的数据帧(从CSV文件中读取)。每行在一个列中有1个.docx路径+文件名,在其他列中有该文档的元数据。我需要从.docx文件中提取注释,然后将源.docx的文件名和元数据附加到每个提取的注释行中。最终目标是一个整洁的数据框。

我可以使用“ docxtractr”通过以下方式提取并汇总.docx文件名列中列出的所有1000个文件的注释:

> document_contents_list <- lapply(file_comments_subset$filename_long, read_docx)
> comments_list <- lapply(document_contents_list, docx_extract_all_cmnts, include_text=TRUE)
> comments_list_joined <- bind_rows(comments_list, .id=NULL)

文件已按预期进行处理和合并,但是在提取步骤中丢失了.docx文件名。因此,无法识别源文件并重新附加元数据。

每个文档都有不同数量的注释,因此不能选择通过'cbind'在第n行重新附加文件名。到目前为止,通过“ map_chr”或类似命令提取单个列表并没有给我任何有用的信息。语料库工具均以.docx文件的正文文本为目标,而不是注释,因此也不是一种选择(我可以告诉我)。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

一种选择是传递命名的list,然后在.id中指定map

library(purrr)
map_dfr(set_names(document_contents_list, file_comments_subset$filename_long), 
    docx_extract_all_cmnts, include_text=TRUE, .id = 'name')