R-使用R读取经常更新的文件

时间:2018-07-03 06:03:44

标签: r

我正在尝试读取一个经常更新的json文件。 在正常情况下,如果只是一次,我将以这种方式读取文件:

com.client

json_data <- fromJSON(file="file.json")

在我的情况下,这显然不起作用,因为我想设置一种情况,其中R检查文件是否已更新并提取更改。 还可以设置某种检查时间吗?

1 个答案:

答案 0 :(得分:0)

您可以检查文件修改时间,并且仅在文件更改后才重新加载。您也许只能获取文件中的最后n个新条目,但是我认为假设json文件逐渐增长并不安全。

require(jsonlite)

# some json file on disk
jfile = tempfile()
cat( toJSON(mtcars[1:3, ]), file = jfile)

# initial fetch of the file and of its modification time
nfo1 = file.info(jfile)$mtime
d = fromJSON(jfile)
d

# new lines are added to jfile from an external process 
# (here just cat)
cat( toJSON(mtcars[1:4, ]), file = jfile )

#check see if file is modified and load it again
nfo2 = file.info(jfile)$mtime

if(nfo2 > nfo1)
    d = fromJSON(jfile)
d