2016-07-28 129 views
0

我有我正在导入数据JSON数据到数据帧中的R

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 
[2] "type1|omaha, ne|Omaha|hit" 
[[2]]$doc_count 
[2] 8 

但json文件,当我试图转换到通过以下功能的数据帧,
do.call(rbind, lapply(myList, data.frame))

我正在一个error.-
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : arguments imply differing number of rows: 1, 0


我需要解析这些数据,以便它可以被用来在excel csv中。我查看了Getting imported json data into a data frame in R
的解决方案,但在excel中输出的格式不正确。

而且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}]

回答

1

你可以试试:

require(jsonlite) 
s ='[{"key":"type1|new york, ny|NYC|hit","doc_count":12}, 
     ....... 
     "key":"type2|yuba city, ca|Yuba|hit","doc_count":9}]' 

df <- fromJSON(s) 
df 

          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 

我不知道你想怎么处理wiyh你的关键.. ...

+0

我正在从JSON文件中读取它。我发布的数据是该文件的示例数据。因此,我明确地调用fromJSON函数,否则与您的建议方法,我得到了错误
参数“txt”丢失,没有默认
关键列有管道分隔的数据,我将转换到Excel中的不同列 – Joe

+0

您能否更新你有问题的部分的例子吗? – tokiloutok

+0

这是我得到错误的确切的一个。
myList = rjson :: fromJSON(file = JSON file path)
do.call(rbind,lapply(myList,data.frame))
这是给出上述问题中提到的错误 – Joe