导入和解析.eml文件

时间:2015-10-01 04:30:12

标签: r text-parsing

我希望有人可以在r中导入和解析.eml文件给我一些建议。我有一个包含大约1000个.eml文件的文件夹,其中包含文本,其中包含如下所示的条目:

返回路径:< fake.name@stuff.com>

我想要做的是将所有这些文件导入到r中的data.frame或data.table中,并将电子邮件地址解析到单独的字段中。
我想我以前用文本文件和使用grep看过类似的事情。

非常感谢任何提示。

1 个答案:

答案 0 :(得分:2)

我开始使用从gmail下载的mbox文件。以eml格式将其分解为一堆单独的消息。然后从每个文件中拉出我需要的行并将它们组装成数据帧。

library(tm.plugin.mail)

mbf <- "mboxfile"
convert_mbox_eml(mbf, "emlfile2")

maildir <- "emlfile2"
mailfiles <- dir(maildir, full.names=TRUE)
readmsg <- function(fname) {
  l <- readLines(fname)
  subj <- grep("Subject: ", l, value=TRUE)
  subj <- gsub("Subject: ", "", subj)
  date <- grep("Date: ", l, value=TRUE)
  date <- gsub("Date: ", "", date)
  text1 <- tail(l, 3)[1]
  text2 <- tail(l, 3)[2]
  return(c(subj, date, text1, text2))
}

mdf <- do.call(rbind, lapply(mailfiles, readmsg))