我正在尝试读取一个经常更新的json文件。 在正常情况下,如果只是一次,我将以这种方式读取文件:
com.client
或
json_data <- fromJSON(file="file.json")
在我的情况下,这显然不起作用,因为我想设置一种情况,其中R检查文件是否已更新并提取更改。 还可以设置某种检查时间吗?
答案 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