【发布时间】:2020-02-25 00:45:56
【问题描述】:
是否可以将 MSWord 2010 文件读入 R?我有 Windows 7 和戴尔 PC。
我正在使用这条线:
my.data <- readLines('c:/users/mark w miller/simple R programs/test_for_r.docx')
尝试读取包含以下文本的 MSWord 文件:
A 20 1000 AA
B 30 1001 BB
C 10 1500 CC
我收到一条警告消息:
警告信息: 在 readLines("c:/users/mark w miller/simple R programs/test_for_r.docx") 中: 在“c:/users/mark w miller/simple R programs/test_for_r.docx”上找到不完整的最后一行
而my.data 似乎是胡言乱语:
# [1] "PK\003\004\024" "¤l" "ÈFÃË‹Átí"
我知道通过这个简单的示例,我可以轻松地将 MSWord 文件转换为不同的格式。但是,我的实际数据文件由几十年前输入的复杂表格组成,后来扫描成 pdf 文档。原始纸质文件的年代以及原始纸质、打字和/或扫描过程中可能存在的缺陷导致某些字母和数字不是很清楚。到目前为止,将 pdf 文件转换为 MSWord 似乎是正确翻译表格最成功的方法。将 MSWord 文件转换为 Excel 或富文本等,并不是很成功。即使在转换为 MSWord 之后,生成的文件也非常复杂并且包含许多错误。我想如果我可以将 MSWord 文件读入 R,这可能是编辑和更正它们的最有效方法。
我知道“package tm”我猜它可以将 MSWord 文件读入 R,但我有点担心使用它,因为它似乎需要安装第三方软件。
感谢您的任何建议。
【问题讨论】:
-
据我所知,读取 MS Word 文件需要从 CRAN 安装一些软件包。您为什么担心安装第三方软件?
-
tm 包提供函数 readDOC()。这需要安装一个名为 antiword 的外部(非 R)工具。但是,我相信该包/工具只能读取 2003 版以下的 Word 文件,而不会处理 .docx 文件。 readLines() 也不是正确的解决方案;它需要纯 ASCII 文本作为输入。
-
如果您将word文档保存为
html,然后使用网络抓取包(例如XML或RCurl)提取文本怎么办? -
感谢您的建议。我从来没有做过网络抓取,尽管它在我的学习清单上。也许这就是我学习它的动力。
-
您是否尝试过使用 Google Docs 对原始 pdf 进行 OCR?还有其他免费的在线 OCR 服务不需要安装软件。