[R] read.*: How to read from a URL?
Duncan Murdoch
murdoch at stats.uwo.ca
Wed Dec 10 20:55:07 CET 2008
If you use
url("http://euclid.psych.yorku.ca/SCS/Gallery/Private/langrens.csv")
then most functions will work, because that creates a connection to read
the URL. Most functions that can read files do it through connections.
Duncan Murdoch
On 12/10/2008 2:17 PM, Michael Friendly wrote:
> The question is how to use a URL in place of a file= argument for
> read.*.functions that do
> not support this internally.
>
> e.g., utils::read.table() and her family all support a file= argument
> that can take a URL
> equally well as a local file. So, if I have a file on the web, I can
> equally well do
>
> > langren <- read.csv("langrens.csv", header=TRUE)
> > langren <-
> read.csv("http://euclid.psych.yorku.ca/SCS/Gallery/Private/langrens.csv",
> header=TRUE)
>
> where the latter is more convenient for posts to this list or
> distributed examples.
>
> rimage::read.jpeg() doesn't support URLs, and the only way I've found is
> to download the
> image file from a URL to a temp file, in several steps.
> This is probably a more general problem than just read.jpeg,
> so maybe there is a general idiom for this case, or better-- other
> read.* functions could
> be encouraged to support URLs.
>
> > library(rimage)
> > # local file: OK
> > gimage <-
> read.jpeg("C:/Documents/milestone/images/vanLangren/google-toledo-rome3.jpg")
> >
> > gimageloc <-
> "http://euclid.psych.yorku.ca/SCS/Gallery/images/Private/Langren/google-toledo-rome3.jpg"
> > dest <- paste(tempfile(),'.jpg', sep='')
> > download.file(gimageloc, dest, mode="wb")
> trying URL
> 'http://euclid.psych.yorku.ca/SCS/Gallery/images/Private/Langren/google-toledo-rome3.jpg'
> Content type 'image/jpeg' length 35349 bytes (34 Kb)
> opened URL
> downloaded 34 Kb
>
> > dest
> [1] "C:\\DOCUME~1\\default\\LOCALS~1\\Temp\\Rtmp9nNTdV\\file5f906952.jpg"
> > # Is there something simpler??
> > gimage <- read.jpeg(dest)
>
> > # I thought file() might work, but evidently not.
> > gimage <- read.jpeg(file(gimageloc))
> Error in read.jpeg(file(gimageloc)) : Can't open file.
> >
>
More information about the R-help
mailing list