你好R新手,所以如果这是一个简单的解决方案我会事先道歉。
我试图每天从NOAA的数据库中获取降水数据一次,这个功能完美地工作了几个月,但NOAA增加了表的大小,现在我只返回部分表:从第一行开始但是每个运行不同的结束行。似乎在整个表加载之前数据被刮掉了。如果有任何关于如何抓住整个桌子的建议那么好。
这是我过去使用的代码,但是现在一次运行将获取所有代码行,而其他代码则停止一半/四分之一/等。
Temp = read.fwf("ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily/all/USW00054779.dly",
widths = c(11, 4, 2, 4, rep(c(5, 1, 1, 1),31)))
提前谢谢!
答案 0 :(得分:0)
ghcn_url <- "ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily/all/USW00054779.dly"
ghcn_fil <- basename(ghcn_url)
if (!file.exists(ghcn_fil)) download.file(ghcn_url, ghcn_fil)
tmp <- read.fwf(ghcn_fil, widths = c(11, 4, 2, 4, rep(c(5, 1, 1, 1), 31)))
如果您的数据处理(或其他问题)强制重新处理目标文件(即您可以读取本地副本并再次抓取它),这样做的另一个好处是对远程服务器友好。
这也不是网络抓取。它正在读取固定宽度的文件。你应该改变标题。