2015-04-15 4 views
2

У меня есть много (1400) почтовых сообщений (формат .msg), которые я хочу обработать дальше. R удовлетворяет большинству моих потребностей в обработке текста, но для этого я не могу найти какое-либо решение. Я использовал readMail от tm.plugin.mail, но не увенчались успехомНевозможно прочитать файлы Outlook (.msg) в R

newsgroup <- file.path("D:", "mails") 
news <- VCorpus(DirSource(newsgroup), readerControl = list(reader = readMail)) 
inspect(news) 

Любая помощь/предложение будет весьма признателен

Спасибо! ...

+0

Скорректированная код formatiing – pagid

+0

Что значит «не увенчались успехом» означает? Вы получаете сообщения об ошибках? Трудно помочь без [воспроизводимого примера] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – MrFlick

ответ

0

Допускает ли R доступ для COM-объектов? Создайте экземпляр объекта Outlook.Application и используйте Application.Session. OpenSharedItem способ открыть файл MSG. Вы также можете использовать Redemption и его RDOSession. GetMessageFromMsgFile, чтобы открыть файлы MSG без использования объектной модели Outlook (система MAPI все еще должна быть установлена, но ваш код может работать как служба).

0

Самый простой способ сделать это - использовать превосходный экстрактор сообщений Python, который вы можете source from GitHub here. Если вы хотите быть творческим, вы можете использовать пакет rPython для инкапсуляции этого кода в R.

1

Теперь вы можете использовать msgxtractr сделать это:

devtools::install_github("hrbrmstr/msgxtractr") 

library(msgxtractr) 

print(str(read_msg(system.file("extdata/unicode.msg", package="msgxtractr")))) 

## List of 7 
## $ headers   :Classes 'tbl_df', 'tbl' and 'data.frame': 1 obs. of 18 variables: 
## ..$ Return-path    : chr "<[email protected]>" 
## ..$ Received     :List of 1 
## .. ..$ : chr [1:4] "from st11p00mm-smtpin007.mac.com ([17.172.84.240])\nby ms06561.mac.com (Oracle Communications Messaging Server "| __truncated__ "from mail-vc0-f182.google.com ([209.85.220.182])\nby st11p00mm-smtpin007.mac.com\n(Oracle Communications Messag"| __truncated__ "by mail-vc0-f182.google.com with SMTP id ie18so3484487vcb.13 for\n<[email protected]>; Mon, 18 Nov 2013 00:26:25 -0800 (PST)" "by 10.58.207.196 with HTTP; Mon, 18 Nov 2013 00:26:24 -0800 (PST)" 
## ..$ Original-recipient  : chr "rfc822;[email protected]" 
## ..$ Received-SPF    : chr "pass (st11p00mm-smtpin006.mac.com: domain of [email protected]\ndesignates 209.85.220.182 as permitted sender)\"| __truncated__ 
## ..$ DKIM-Signature   : chr "v=1; a=rsa-sha256; c=relaxed/relaxed;  d=gmail.com;\ns=20120113; h=mime-version:date:message-id:subject:f"| __truncated__ 
## ..$ MIME-version    : chr "1.0" 
## ..$ X-Received    : chr "by 10.221.47.193 with SMTP id ut1mr14470624vcb.8.1384763184960;\nMon, 18 Nov 2013 00:26:24 -0800 (PST)" 
## ..$ Date      : chr "Mon, 18 Nov 2013 10:26:24 +0200" 
## ..$ Message-id    : chr "<[email protected]om>" 
## ..$ Subject     : chr "Test for TIF files" 
## ..$ From      : chr "Brian Zhou <[email protected]>" 
## ..$ To      : chr "[email protected]" 
## ..$ Cc      : chr "Brian Zhou <[email protected]>" 
## ..$ Content-type    : chr "multipart/mixed; boundary=001a113392ecbd7a5404eb6f4d6a" 
## ..$ Authentication-results : chr "st11p00mm-smtpin007.mac.com; dkim=pass\nreason=\"2048-bit key\" header.d=gmail.com [email protected]\nheader."| __truncated__ 
## ..$ x-icloud-spam-score  : chr "33322\nf=gmail.com;e=gmail.com;pp=ham;spf=pass;dkim=pass;wl=absent;pwl=absent" 
## ..$ X-Proofpoint-Virus-Version: chr "vendor=fsecure\nengine=2.50.10432:5.10.8794,1.0.14,0.0.0000\ndefinitions=2013-11-18_02:2013-11-18,2013-11-17,19"| __truncated__ 
## ..$ X-Proofpoint-Spam-Details : chr "rule=notspam policy=default score=0 spamscore=0\nsuspectscore=0 phishscore=0 bulkscore=0 adultscore=0 classifie"| __truncated__ 
## $ sender   :List of 2 
## ..$ sender_email: chr "[email protected]" 
## ..$ sender_name : chr "Brian Zhou" 
## $ recipients  :List of 2 
## ..$ :List of 3 
## .. ..$ display_name : NULL 
## .. ..$ address_type : chr "SMTP" 
## .. ..$ email_address: chr "bria[email protected]" 
## ..$ :List of 3 
## .. ..$ display_name : NULL 
## .. ..$ address_type : chr "SMTP" 
## .. ..$ email_address: chr "[email protected]" 
## $ subject   : chr "Test for TIF files" 
## $ body   : chr "This is a test email to experiment with the MS Outlook MSG Extractor\r\n\r\n\r\n-- \r\n\r\n\r\nKind regards\r\n"| __truncated__ 
## $ attachments  :List of 2 
## ..$ :List of 4 
## .. ..$ filename  : chr "importOl.tif" 
## .. ..$ long_filename: chr "import OleFileIO.tif" 
## .. ..$ mime   : chr "image/tiff" 
## .. ..$ content  : raw [1:969674] 49 49 2a 00 ... 
## ..$ :List of 4 
## .. ..$ filename  : chr "raisedva.tif" 
## .. ..$ long_filename: chr "raised value error.tif" 
## .. ..$ mime   : chr "image/tiff" 
## .. ..$ content  : raw [1:1033142] 49 49 2a 00 ... 
## $ display_envelope:List of 2 
## ..$ display_cc: chr "Brian Zhou" 
## ..$ display_to: chr "[email protected]" 
## NULL 
Смежные вопросы