从FTP导入文件到R

3

想要从FTP服务器下载一个CSV文件到R中(最好将文件作为数据帧导入R)。

尝试将CSV文件从FTP服务器下载到我的Mac电脑上的R时,遇到了错误信息。

url = "ftp://ftppath/www_logs/testfolder/"

download.file(URL,"test.csv", credentials = "xxx:yyyy")

上一个查询导致了以下结果:
Error in download.file(URL, "test.csv", credentials = "xxxyyy",  : 
unused arguments (credentials = "xxx:yyyy")

2
在函数download.file()的文档中,我看不到参数credentials= - jogo
你是对的。我的错误,我是指 'download_ftp_file'。在这里找到它:[https://rdrr.io/github/skgrange/threadr/man/download_ftp_file.html]。现在我的问题是:找不到包含该函数的软件包,甚至使用 '?download_ftp_file' 也无法找到。 - flobrr
尝试这个解决方案:https://stackoverflow.com/a/45019200/6574038 - jay.sf
1
https://rdrr.io/github/skgrange/threadr/f/README.md - jogo
1个回答

6
我认为你收到这个错误信息是因为函数download.file()没有名为credentials的参数。我建议按照这里讨论的方法传递凭据。请注意保留HTML标记,但不要添加解释。
url = "ftp://username:password@ftppath/www_logs/testfolder/test.csv"
download.file(url, destfile = "test.csv")

如果你想将文件加载到R数据框中,你可以尝试以下方法:
library(RCurl) 
url <- "ftp://ftppath/www_logs/testfolder/test.csv"
text_data <- getURL(url, userpwd = "username:password", connecttimeout = 60)
df <- read.csv(text = text_data)

谢谢,但是它返回了以下信息:trying URL "ftp://username:password@ftppath/www_logs/testfolder/test.csv" Content type 'unknown' length 10 bytes。这是一个包含1列和3行数字(从1到3)的CSV文件。 - flobrr
应用url = ftp://username:password@ftppath/www_logs/testfolder/会导致消息trying URL '"ftp://username:password@ftppath/www_logs/testfolder/。这是一个错误消息吗?我该如何将我的下载传输到R-Objekt,例如在dataframe中? - flobrr
1
我编辑了我的回答,希望代码在你的情况下能够正常工作。 - Franziska W.
嗨,弗朗齐斯卡,它几乎完美地运行了,我将您的回复标记为“正确答案”。仍有一个问题:第一行在df中不包含1,而是<ef><bb><bf>1。我还添加了header = FALSE,否则第一行(值为1)将被排除。 - flobrr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接