【问题标题】:Keep both source .docx filename and comments data when using docxtractr使用 docxtractr 时保留源 .docx 文件名和评论数据
【发布时间】:2019-06-17 05:45:24
【问题描述】:

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

我可以通过 'docxtractr' 提取和聚合 .docx 文件名列中列出的所有 1000 个文件的 cmets:

> 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 文件名。因此无法识别源文件并重新附加元数据。

每个文档都有不同数量的 cmets,因此不能通过 'cbind' 在每 n 行重新附加文件名。到目前为止,通过“map_chr”或类似命令提取单个列表也没有给我任何有用的东西。语料库工具都针对 .docx 文件的正文文本,而不是 cmets,因此这也不是一个选项(我能说得最好)。有什么建议吗?

【问题讨论】:

    标签: r


    【解决方案1】:

    一个选项是传递一个命名的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')
    

    【讨论】:

    • 完美运行!知道它必须不超过 1-2 行才能完成这项工作。非常感谢。
    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 2015-06-12
    • 2020-12-15
    • 1970-01-01
    • 2012-05-08
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多