我正在尝试使用R从网页下载并提取.csv文件。
这个问题是使用R下载压缩数据文件,提取和导入数据的重复。
我无法使用该解决方案,但这可能是由于我使用的网址所致。
我正在尝试从http://data.worldbank.org/country/united-kingdom下载.csv文件(在下载数据下拉列表中)
我从上面的链接使用@Dirk的解决方案,我尝试了
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)
unlink(temp)
我通过查看页面源代码获得了扩展链接,我期望这会导致问题,但是如果将其粘贴到地址栏中也可以使用。
以正确的Gb下载文件
download.file("http://api.worldbank.org/v2/en/country/gbr?downloadformat=csv",temp)
# trying URL 'http://api.worldbank.org/v2/en/country/gbr?downloadformat=csv'
# Content type 'application/zip' length 332358 bytes (324 Kb)
# opened URL
# downloaded 324 Kb
# also tried unzip but get this warning
con <- unzip(temp, "gbr_Country_en_csv_v2.csv")
# Warning message:
# In unzip(temp, "gbr_Country_en_csv_v2.csv") :
# requested file not found in the zip file
但是这些是我手动下载它们时的文件名。
我会为我要去的地方提供一些帮助,谢谢
我正在使用Windows 8,R版本3.1.0
为了让您的数据下载和解压缩,您需要设置 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)
看起来默认值为“ w”,它假设一个文本文件。如果它是一个普通的csv文件,那就没问题了。但是由于已压缩,所以它是一个二进制文件,因此为“ wb”。没有“ wb”部分,您将根本无法打开拉链。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句