使用R从SFTP下载.gz文件

时间:2019-05-06 19:52:17

标签: r ftp sftp

我正在尝试从SFTP站点下载.gz文件。其他答案还向我展示了如何登录SFTP站点,列出可用文件以及读取二进制格式的文件。问题是我不知道如何将文件另存为.gz。

下面的代码成功创建了SFTP站点上所有文件的向量。

library(tidyverse)
library(RCurl)

protocol <- "sftp"
server   <- "files.company.com/pickup/"
userpwd  <- "username:password"

filenames <-
  getURL(
    paste0(protocol, "://", server),
    ftp.use.epsv = FALSE,
    dirlistonly = TRUE,
    userpwd = userpwd
  ) %>% 
  strsplit(split = "\n") %>% 
  unlist()

这是我尝试读取基于this answer的.gz文件之一。

file_name <- filenames[1]
gz <- getBinaryURL(url = paste0(protocol, "://", server, file_name), userpwd = userpwd)

然后我将文件保存到磁盘。保存了几兆字节,但是当我尝试将其解压缩时,出现错误消息,提示这不是在保存.gz文件。

file_name <- filenames[1]
gz <- getBinaryURL(url = paste0(protocol, "://", server, file_name), userpwd = userpwd)

有什么想法吗?有几个答案是针对FTP或受密码保护的HTTP站点的,但是这些答案都不适合我。

0 个答案:

没有答案