【问题标题】:Importing JSON data in R to be saved as dataframe在 R 中导入 JSON 数据以保存为数据框
【发布时间】:2016-05-31 05:06:25
【问题描述】:

我正在尝试从 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?

【问题讨论】:

  • 您没有做错任何事情,请访问 https://data.maryland.gov/api/views/pdvh-tf2u/rows.json?accessType=DOWNLOAD 并查看 JSON - 有两个顶级字段,metadata - 在您的情况下,查看 @ 987654325@ 和myjson$data。另请查看names(myjson)

标签: json r dataframe jsonlite rjsonio


【解决方案1】:

要获得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 ...

【讨论】:

    【解决方案2】:

    只需将其下载为 csv 文件即可。省了很多转换代码...

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 2013-06-01
      • 2021-09-29
      • 2015-09-02
      • 2015-08-30
      相关资源
      最近更新 更多