从R中的json文件导入数据

时间:2016-07-12 18:51:40

标签: json r

我有一个json数据文件,我想在R中导入。我尝试搜索类似的博客,但他们要么从URL获取数据,要么语法错误。

假设json文件的名称是“Jsdata.json”

如何从Jsdata.json获取数据到R并将其转换为excel / csv格式以获得更好的图片。

1 个答案:

答案 0 :(得分:2)

要确认,这是使用rjson包的输出。必须在此处显式指定file参数,否则该函数会将其视为json字符串并抛出错误。

myList = rjson::fromJSON(file = "JsData.json")
myList
# [[1]]
# [[1]]$key
# [1] "type1|new york, ny|NYC|hit"
# 
# [[1]]$doc_count
# [1] 12


# [[2]]
# [[2]]$key
# [1] "type1|omaha, ne|Omaha|hit"

# [[2]]$doc_count
# [1] 8


# [[3]]
# [[3]]$key
# [1] "type2|yuba city, ca|Yuba|hit"

# [[3]]$doc_count
# [1] 9

为了将其转换为数据框,您可以执行以下操作:

do.call(rbind, lapply(myList, data.frame))

#                            key doc_count
# 1   type1|new york, ny|NYC|hit        12
# 2    type1|omaha, ne|Omaha|hit         8
# 3 type2|yuba city, ca|Yuba|hit         9

使用csv将数据框写为write.csv(..., sep = "\t")并配置您的Excel,以便分隔符与此处的sep匹配。

JsData.json 数据如下所示:

[{"key":"type1|new york, ny|NYC|hit","doc_count":12},
 {"key":"type1|omaha, ne|Omaha|hit","doc_count":8}, 
 {"key":"type2|yuba city, ca|Yuba|hit","doc_count":9}]