【问题标题】:How to read .doc files into R [duplicate]如何将.doc文件读入R [重复]
【发布时间】:2015-02-21 17:26:01
【问题描述】:

因此,为了享受周末的乐趣,我决定尝试将 Microsoft Word .doc 文件读入 R。具体来说,我有以下 PDF 的 .doc 文件版本:

http://www.queensu.ca/rarc/services/ASDAssessmentTemplate/AAA/AQ_Scoring_Key.pdf

我想做的是将表格提取到 R 中的数据框之类的东西中。现在我的初步调查让我相信“tm”包可能很方便,但我似乎无法理解上班。

像往常一样,如果有任何帮助,我们将不胜感激。

编辑:此问题要求读取 .doc 文件的具体步骤(即代码),因此与已链接为副本的问题不重复。

【问题讨论】:

标签: r converter doc tm


【解决方案1】:

这是一个如何从 doc/docx 文件中提取简单表格的示例:

require(XML)
download.file(url = "https://www.dropbox.com/s/36ydzz98beluhj8/test.docx?dl=1", 
              destfile = file.path(tempdir(), "test.docx"),
              mode = "wb")
unzip(file.path(tempdir(), "test.docx"), exdir = tempdir()) 
doc <- xmlParse(file.path(tempdir(), "word", "document.xml") )
df <- 
  as.data.frame(
    matrix(
      xpathSApply(doc, "//w:tbl/w:tr/w:tc", xmlValue), 
      ncol = length(getNodeSet(doc, "//w:tbl/w:tr[1]/w:tc")), 
      nrow =  length(getNodeSet(doc, "//w:tbl/w:tr")),
      byrow = TRUE
    )
)

df
#   V1 V2 V3
# 1     2  3
# 2  4  5  6
# 3  7     9

根据您的需要进行调整。

【讨论】:

  • 感谢您的意见。我以前使用过 XML 来查看 HTML,但我似乎无法让您的代码适用于我的 .doc 文件。你能解释一下 unzip 函数和 file.path(tempdir()) 函数吗?
  • test.docx 是一个存档文件,解压后会将文件解压缩到标准临时目录。请参阅?tempdir?unzip?file.path。你有什么问题?
猜你喜欢
  • 2012-04-15
  • 2018-12-15
  • 2015-12-29
  • 1970-01-01
  • 2017-02-25
  • 1970-01-01
  • 2011-03-24
  • 2013-06-24
  • 2015-10-22
相关资源
最近更新 更多