从internet将json文件读入R-遇到麻烦</html>;线
我试图使用从internet将json文件读入R-遇到麻烦</html>;线,json,r,Json,R,我试图使用jsonlite包将以下JSON数据库读入R library(jsonlite) db <- fromJSON("http://www.stbates.org/funguild_db.php", flatten=TRUE) library(jsonlite) db@MrFlick是正确的,因为它不是提供数据的好方法。但和往常一样,这是有办法的。在这里,我使用rvest刮取整个页面,然后gsub删除第一个字符串,它恰好是url的最后一部分(减去.php扩展名) url% html
jsonlite
包将以下JSON数据库读入R
library(jsonlite)
db <- fromJSON("http://www.stbates.org/funguild_db.php", flatten=TRUE)
library(jsonlite)
db@MrFlick是正确的,因为它不是提供数据的好方法。但和往常一样,这是有办法的。在这里,我使用rvest
刮取整个页面,然后gsub
删除第一个字符串,它恰好是url的最后一部分(减去.php扩展名)
url%
html_text()
这根本不是一个正确的JSON文件。它是一个HTML文件,碰巧包含类似于JSON的数据。我不知道为什么有人会以这种方式提供数据,这似乎是个错误。@MrFlick-wow。好了,现在这就更有意义了。生物学家建立自定义数据库,这种情况有时会发生。。。。
Error in parse_con(txt, bigint_as_char) :
lexical error: invalid char in json text.
<html> <head> <title>funguild_d
(right here) ------^
url <- "http://www.stbates.org/funguild_db.php"
library(rvest)
library(jsonlite)
js <- url %>%
read_html() %>%
html_text()
js <- jsonlite::fromJSON(gsub("funguild_db", "", js))
head(js[, 1:5])
# $oid taxon taxonomicLevel trophicMode guild
# 1 58f450f1791497fd28ebfccc Xanthomonas campestris 20 Pathotroph Plant Pathogen
# 2 58f450f1791497fd28ebfccd Xanthomonas juglandis 20 Pathotroph Plant Pathogen
# 3 58f450f1791497fd28ebfcce Xanthoparmelia 13 Symbiotroph Lichenized
# 4 58f450f1791497fd28ebfccf Xanthopeltis 13 Symbiotroph Lichenized
# 5 58f450f1791497fd28ebfcd0 Xanthopsora 13 Symbiotroph Lichenized
# 6 58f450f1791497fd28ebfcd1 Xanthopsorella 13 Symbiotroph Lichenized