在R中导入JSON数据以保存为数据帧

时间:2016-02-18 20:14:03

标签: json r dataframe jsonlite rjsonio

我正在尝试从URL导入JSON数据并将其另存为数据帧。一旦我在单行/列格式数据框中,我想执行清除操作,如删除一些值和列。

我正在使用jsonlite包自动解析数据并以数据帧格式保存。但是,它似乎创建了一个数据帧列表而不是一个数据帧。

#install
install.packages("jsonlite")

#load
library(jsonlite)

#fetch JSON data
litejson <- "https://data.maryland.gov/api/views/pdvh-tf2u/rows.json?accessType=DOWNLOAD"
myjson <- fromJSON(litejson)
print(myjson)

# It seems the jsonlite didn't parse the data properly. It is a list of data frames instead of one single data frame.
str(myjson)

#WHAT AM I DOING WRONG?

2 个答案:

答案 0 :(得分:2)

要获得data.frame,只需执行

df <- data.frame(myjson$data)
str(df)

'data.frame':   18638 obs. of  26 variables:
 $ X1 : Factor w/ 18638 levels "1","10","100",..: 1 9751 10862 11973 13084 14195 15306 16417 17528 2 ...
 $ X2 : Factor w/ 18638 levels "0006A909-5D07-4AFF-A282-439A725518E0",..: 18379 15224 7798 6286 6035 13134 12495 3981 4781 8051 ...

答案 1 :(得分:1)

只需将其下载为csv即可。它节省了大量的转换代码......

df <- read.csv("https://data.maryland.gov/api/views/pdvh-tf2u/rows.csv", stringsAsFactors=FALSE)