0

您好 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)))

先感谢您!

4

1 回答 1

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)))

如果您的数据处理(或其他问题)强制重新处理目标文件(即您可以读取本地副本而不是再次抓取它),这还有另一个好处是对远程服务器友好。

这也不是网络抓取。它正在读取一个固定宽度的文件。您可能应该更改标题。

于 2017-06-01T15:21:11.310 回答