我有一个json数据文件,我想在R中导入。我尝试搜索类似的博客,但他们要么从URL获取数据,要么语法错误。
假设json文件的名称是“Jsdata.json”
如何从Jsdata.json获取数据到R并将其转换为excel / csv格式以获得更好的图片。
答案 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}]