是否可以将MSWord 2010文件读入R?我有Windows 7和戴尔PC.
我正在使用这条线:
my.data <- readLines('c:/users/mark w miller/simple R programs/test_for_r.docx')
Run Code Online (Sandbox Code Playgroud)
尝试读取包含以下文本的MSWord文件:
A 20 1000 AA
B 30 1001 BB
C 10 1500 CC
Run Code Online (Sandbox Code Playgroud)
我收到一条警告信息:
警告消息:在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í"
Run Code Online (Sandbox Code Playgroud)
我知道通过这个简单的例子,我可以轻松地将MSWord文件转换为其他格式.但是,我的实际数据文件包含几十年前输入的复杂表格,然后再扫描成pdf文档.原始纸质文档的年龄和原始文件中的不完善,打字和/或扫描过程导致一些字母和数字不是很清楚.到目前为止,将pdf文件转换为MSWord似乎是正确翻译表格中最成功的.将MSWord文件转换为Excel或富文本等并不是很成功.即使在转换为MSWord之后,生成的文件也非常复杂并且包含许多错误.我想如果我能将MSWord文件读入R中,这可能是编辑和纠正它们的最有效方法.
我知道'package tm',我想可以将MSWord文件读入R,但我有点担心使用它,因为它似乎需要安装第三方软件.
谢谢你的任何建议.
首先,readLines()不是正确的解决方案,因为Word文件不是文本(即普通的ASCII文本)文件.
tm包中与Word相关的函数称为readDOC(),但它和所需的第三方工具(Antiword)都适用于较旧的Word文件(最高为Word 2003),并且无法使用较新的.docx文件.
我能建议的最好的是你尝试在tm包中找到的readPDF().注意:它要求在您的系统上安装工具pdftotext.Linux易用,不懂Windows.或者,找到一个Windows工具,将PDF转换为普通的ASCII文本文件(不是 Word文件) - 它们应该在Windows上使用记事本打开并正确显示 - 然后再次尝试readLines().但是,鉴于您的PDF文件较旧且来自扫描仪,转换为文本可能很困难.
最后:我意识到你没有在这个例子中做出原始决定,但对于其他任何人 - Word和PDF不适合存储你想要解析的数据.
如果它对其他人有帮助,https://cran.r-project.org/web/packages/readtext/vignettes/readtext_vignette.html,似乎有一个新的包专门用于读取文本数据,包括Word文件(也是新的.docx格式)。