我希望有人可以在r中导入和解析.eml文件给我一些建议。我有一个包含大约1000个.eml文件的文件夹,其中包含文本,其中包含如下所示的条目:
返回路径:< fake.name@stuff.com>
我想要做的是将所有这些文件导入到r中的data.frame或data.table中,并将电子邮件地址解析到单独的字段中。
我想我以前用文本文件和使用grep看过类似的事情。
非常感谢任何提示。
答案 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))