【问题标题】:Import and Parse .eml files导入和解析 .eml 文件
【发布时间】:2015-10-01 04:30:12
【问题描述】:

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

返回路径:

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

非常感谢任何提示。

【问题讨论】:

  • 有人吗?我也有同样的要求。不敢相信没有这个包。

标签: r text-parsing


【解决方案1】:

我从从 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)) 

【讨论】:

  • 不错!谢谢你。我在 Excel VBA 中做类似的事情,但我认为一旦收到更多消息,Excel 可能会崩溃,而 R 可能足够强大。
猜你喜欢
  • 1970-01-01
  • 2019-05-18
  • 2012-07-09
  • 2019-02-08
  • 2012-01-19
  • 2019-06-02
  • 2018-06-25
  • 2010-10-30
相关资源
最近更新 更多