导入和解析 .eml 文件

use*_*463 4 r text-parsing

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

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

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

任何提示将非常感激。

J. *_*in. 5

我从从 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)) 
Run Code Online (Sandbox Code Playgroud)