On Jul 21, 2010, at 5:33 PM, AndrewPage wrote:


Hi all,

I'm currently working on an R program where I have to access an FTP server to download some of the data I need. However, the people who post up the files I access are at times inconsistent with regards to time posted, if
they post at all, etc....  Here's some of the code I use:

library(RCurl)

url1 = paste("ftp://user:passw...@a.great.website.com/";, "file", num1,
".csv", sep = "")

data1 = getURL(url1)

write(data1, file = paste("inMyFolder", num1, ".csv", sep = ""))


Sometimes this process works perfectly, and sometimes I get an error message
like this attached to "data1 = getURL(url1)":

Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) :
 RETR response: 550

That's because that particular file isn't on the FTP server yet. Now...
let's just imagine that there's another way for me to access the file
elsewhere, and I can drag it into the working directory with the same name as the file I'm telling R to write immediately after finding it on the FTP
server.

So here's my question: is it possible to write a command that will write the
file if there isn't an error message going along with "data1 =
getURL(url1)", but won't write the file if it can't find it????

?try

Untested in absence of workable example...

Return <- try(getURL(url1), silent=TRUE) # silent keeps error from showing up on console if(grep("550", Return[1]) { # not sure about exact structure of error message
                            # but could do nothing
                 } else { # assign data
                         data1 <- Return
if(("550", Return[1]) { # go to the other site
          Return2 <- try( getURL(url2), silent =TRUE ) # and so on



As of right
now, if I got the error message, dragged the file into the working directory and ran the program again, R will overwrite my good file with an empty one because in all cases, I'm telling it to write a file with that name that
includes the information in "data1".

Thanks in advance,

Search help archives for try examples or perhaps try-error or tryCatch which might be more specific.

Andrew
--
--

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to