如何将Json转换为R中的数据框

Pin*_*Hsu 6 json r data-analysis

我想将我的json数据转换为R中的数据框.这是我到目前为止所做的:

library("rjson")
result <- fromJSON(file ="mypath/data.json")
json_data_frame <- as.data.frame(result)
Run Code Online (Sandbox Code Playgroud)

但是,它会出现这样的错误:

data.frame中的错误(company_id ="12345678",country_name ="China",:参数意味着行数不同:1,2,0

我也尝试了以下代码:

library("rjson")
result <- fromJSON(file ="mypath/data.json")
final_data <- do.call(rbind, result)
Run Code Online (Sandbox Code Playgroud)

这个错误出现了:

警告消息:在(function(...,deparse.level = 1)中:结果列数不是向量长度的倍数(arg 3)

我不知道这里发生了什么,我怎么解决它.如果我能得到一些帮助,我将不胜感激.

以下是我的json数据的一些部分:

{"business_id":"1234567","Country_name":"中国","小时":{"星期一":{"关闭":"02:00","开放":"11:00"},"星期二":{"close":"02:00","open":"11:00"},"星期五":{"关闭":"02:00","打开":"11:00"}, "星期三":{"关闭":"02:00","打开":"11:00"},"星期四":{"关闭":"02:00","打开":"11:00" },"星期日":{"关闭":"02:00","打开":"12:00"},"星期六":{"关闭":"02:00","打开":"12: 00"}},"open":true,"categories":["Bars","Nightlife","Restaurants"],"city":"Beijing","review_count":5,"name":"陈氏酒吧","邻里":["West End"],"attributes":{"Take-out":true,"Wi-Fi":"free","Good For":{"dessert":false,"latenight" ":false,"午餐":假,"吃饭":假,"早餐":假,"早午餐":假,"好跳舞":虚假,"噪音等级":"响亮","需要预约" :false,"Delivery":false,"Ambience":{"romantic":false,"intimate":false,"classy":false,"hipster":false,"divey":false,"touristy":false, "时髦":虚假,"高档":虚假,"随意":虚假},"欢乐时光":真实,"停车":{"车库":虚假,"街道":虚假,"验证":虚假,"很多":虚假,"代客":虚假},"有电视":是的, "户外座位":虚假,"服装":"休闲","酒精":"full_bar","服务员服务":真实,"接受信用卡":真实,"对孩子有益":虚假,"适合团体":true,"Caters":true,"Price Range":1},"type":"business"}

Kus*_*tel 7

尝试使用jsonlite库.它对我有用

fromJSON(temp) %>% as.data.frame
Run Code Online (Sandbox Code Playgroud)

输出如下 在此输入图像描述

如果你想要清单.

fromJSON(temp) 
Run Code Online (Sandbox Code Playgroud)

  • 我从 dplyr 使用它,查看 /sf/ask/1898797071/,或者你可以只做 `as.data.frame(fromJSON(temp)) ` (2认同)

Ada*_*war 6

加载jsonlite包

library(jsonlite)
Run Code Online (Sandbox Code Playgroud)

wine_json 是一个 JSON

wine_json <- '{"name":"Chateau Migraine", "year":1997, "alcohol_pct":12.4, "color":"red", "awarded":false}'
Run Code Online (Sandbox Code Playgroud)

将 wine_json 转换为列表:

wine <- fromJSON(wine_json)
Run Code Online (Sandbox Code Playgroud)

酒的印刷结构

str(wine)
Run Code Online (Sandbox Code Playgroud)