阅读R的电子邮件附件

阅读R的电子邮件附件,r,email,outlook,R,Email,Outlook,我正在使用R阅读Outlook附件。我的参考资料如下: 这是我的电子邮件的屏幕截图: 这每天都会寄给我 当我尝试提取此附件时,我就是这样做的: install.packages('RDCOMClient') library(RDCOMClient) outlook_app <- COMCreate("Outlook.Application") search <- outlook_app$AdvancedSearch( "Inbox", "urn:schemas:httpma

我正在使用R阅读Outlook附件。我的参考资料如下:

这是我的电子邮件的屏幕截图:

这每天都会寄给我

当我尝试提取此附件时,我就是这样做的:

install.packages('RDCOMClient')
library(RDCOMClient)
outlook_app <- COMCreate("Outlook.Application")
search <- outlook_app$AdvancedSearch(
  "Inbox",
  "urn:schemas:httpmail:subject = 'DDM Report #107047216 : \"Nick_ACS_Brand_All_FloodLights\" from Nicholas Knauer'"
)


results <- search$Results()
results$Item(1)$ReceivedTime() # Received time of first search result
as.Date("1899-12-30") + floor(results$Item(1)$ReceivedTime()) # Received date

for (i in 1:results$Count()) {
  if (as.Date("1899-12-30") + floor(results$Item(i)$ReceivedTime()) 
      == as.Date("2017-12-17")) {
    email <- results$Item(i)
  }
}

attachment_file <- tempfile()
email$Attachments(1)$SaveAsFile(attachment_file)
data <- read.csv(attachment_file, skip = 10)
你知道我如何解决这个问题吗


谢谢

尝试将
Sys.sleep(5)
(如果不起作用,请尝试
Sys.sleep(10)
)放在另存为
结果和
结果$Item(1)$ReceivedTime()
之间。我认为这需要时间来处理

results <- search$Results() # Saves search results into results object

Sys.sleep(5) # Wait a hot sec!

results$Item(1)$ReceivedTime() # Received time of first search result

as.Date("1899-12-30") + floor(results$Item(1)$ReceivedTime()) # Received date

# Iterates through results object to pull out all of the items
for (i in 1:results$Count()) {
  if (as.Date("1899-12-30") + floor(results$Item(i)$ReceivedTime()) 
      == as.Date(Sys.Date())) {
    email <- results$Item(i)
  }
}

结果您是否检查了附件?检查附件数是否大于0。还要确保附件_文件指向一个完全限定的文件名,包括路径。是的,刚刚选中,并且在中的zip文件夹中有一个附件screenshot@DmitryStreblechenko实际上,这是R中的一个命令,我可以检查吗<代码>附件.计数>0
?如果是这样的话,我会把它放在上面的脚本中的什么地方?我使用完全相同的脚本,我们可能都是从相同的so答案中得到的。我已经很久没有用过我的了,它实际上也会产生同样的错误。可能有人在其中一个软件包中开发?奇怪的是,它适用于普通的csv文件,而不是压缩文件。我认为这实际上可能有效。我现在遇到的唯一错误是:read.table中的错误(file=file,header=header,sep=sep,quote=quote),输入中没有可用的行。另外:警告消息:1:in readLines(file,skip):第2行似乎包含嵌入的nul 2:in readLines(file,skip):在“C:\Users\nickk\AppData\Local\Temp\RtmpWOPe51\file20943524103f”上发现的最后一行不完整。您认为这与zip文件有关吗?zip文件内是一个具有相同文件名的csv文件。在R中读取的结果数据框是一个1x2数据集,包含奇怪的字符,即使附件中的实际数据集有数千行大约40-50列并非100%确定,我需要一个可复制的示例。将您的
附件文件打印到控制台并遵循它。然后尝试在某个地方打开它,看看它是什么。对于我的,它是csv。因此read.csv可以工作。我想如果您的是正在下载的zip,则需要使用zip包打开它
results <- search$Results() # Saves search results into results object

Sys.sleep(5) # Wait a hot sec!

results$Item(1)$ReceivedTime() # Received time of first search result

as.Date("1899-12-30") + floor(results$Item(1)$ReceivedTime()) # Received date

# Iterates through results object to pull out all of the items
for (i in 1:results$Count()) {
  if (as.Date("1899-12-30") + floor(results$Item(i)$ReceivedTime()) 
      == as.Date(Sys.Date())) {
    email <- results$Item(i)
  }
}