Using R to download zipped data file, extract, and import .csv
In order to get your data to download and uncompress, you need to set mode="wb"
download.file("...",temp, mode="wb")unzip(temp, "gbr_Country_en_csv_v2.csv")dd <- read.table("gbr_Country_en_csv_v2.csv", sep=",",skip=2, header=T)
It looks like the default is "w" which assumes a text files. If it was a plain csv file this would be fine. But since it's compressed, it's a binary file, hence the "wb". Without the "wb" part, you can't open the zip at all.
It's almost everything ok. In this case you only need to specify that it's a comma separated file, eg using sep=","
in read.table
:
temp <- tempfile()download.file("http://api.worldbank.org/v2/en/country/gbr?downloadformat=csv", temp)con <- unz(temp, "gbr_Country_en_csv_v2.csv")dat <- read.table(con, header=T, skip=2, sep=",")unlink(temp)
With this little change i can import your csv smoothly.
HTH, Luca
The Word Bank Developmet Indictors can be obtained using the WDI package. For example,
library(WDI)inds <- WDIsearch(field = "indicator")[, 1]GB <- WDI("GB", indicator = inds)
See WDIsearch and WDI functions and the rerference manual for more info.