在R中读取和扫描MS Word .doc文件

时间:2013-10-21 10:26:38

标签: r ms-word

我有一大组.doc文件,它们在一组相应的数据集中提供变量。我想在R中扫描这些数据集并查看哪些数据集包含感兴趣的变量。我以前在使用readLines的纯文本文件上做过这个,但这对.doc文件不起作用。

我已经下载了tm软件包,它应该能够使用readDOC命令读取.doc文件,但是说明非常有限,我无法让它工作。有谁知道如何使用readDOC命令或有另一个建议如何在R中执行此操作? 谢谢!

非常感谢大家的回复和建议。我认为R可能很容易设置为读取.doc文件,但从你的说法我认为最简单的方法是首先将所有word文件转换为另一种格式。我刚刚下载了一些名为“Convert Doc”的免费软件,我将所有单词文档存储在一个文件夹中,并将它们全部放到.txt文件中。现在我可以自动进行搜索,因为我有大约100个数据文件,附带指定变量编码的单词文档,在每个数据文件中并不总是相同(例如,是/否,有些使用0/1,其他使用1/2)所以这允许我找到正确的变量并使用readLines,grep和更多的文本处理来存储其编码。谢谢!

2 个答案:

答案 0 :(得分:4)

您的策略取决于您对文档的处理方式,以及文档结构的重要性。

如果结构很重要,那么您可以将Word文档转换为HTML,然后使用XML包提取相关部分。如果结构不重要,那么将它们转换为纯文本并使用readLines(如前所述)导入它们可能是更好的选择。

第一个转换步骤将是棘手的部分。您可以通过右键单击并选择"另存为"手动执行此操作,这是少数文件最简单的技术。

在R中,您可能需要通过RDCOMClient package执行涉及COM连接的操作。这通常是繁琐的。

尽管我讨厌建议使用VBScript做任何事情,但对于这项任务而言,它可能比R更好,所以考虑使用该语言进行重新保存。

答案 1 :(得分:2)

试试' read_docx'来自qdapTools'封装