我有一个 1000 行的数据帧(从 CSV 文件中读入)。每行在一列中有 1 个.docx路径 + 文件名,在其他列中有该文档的元数据。我需要从.docx文件中提取 COMMENTS,然后将源.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文件的正文文本,而不是注释,所以这也不是一个选项(我能说的最好的)。有什么建议吗?
一个选项是传递一个命名的list
,然后在map
中指定.id
library(purrr)
map_dfr(set_names(document_contents_list, file_comments_subset$filename_long),
docx_extract_all_cmnts, include_text=TRUE, .id = 'name')