2016-07-12 8 views
2

私はRからインポートしたいjsonデータファイルを持っています。同様のブログを検索しようとしましたが、URLからデータを取得しているか、構文がエラーになりました。jsonファイルからのデータのインポートR

のは、JSONファイルの名前は「Jsdata.json」であるとしましょう

にはどうすればRにJsdata.jsonからデータを取得し、より良い映像のためのエクセル/ CSV形式に変換することができます。

+3

[RのデータフレームにインポートJSONデータを取得]の可能複製(http://stackoverflow.com/questions/16947643/ json-data-in-a-data-frame-in-r) – Psidom

+0

サンプル 'json'ファイルを提供するのが適切でしょうが、どのようにこれがすべての例と異なるのか分かりません。 '.json'ファイルはURLからダウンロードされ、解析されます。ダウンロードしたファイルの代わりにファイルを置き換えるだけです。 –

+0

jsonファイルからそのデータを読んだり、csvで解析したりできる構文を教えてもらえますか?私は使用しています
treview < - "filepath"
json_data < - fromJSON(treview) – Joe

答えて

1

確認すると、これは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 

write.csv(..., sep = "\t")を使用してcsvとしてデータフレームを作成し、区切り文字は、ここであなたのsepが動作するはず一致するように、あなたの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}] 
+0

明示的な呼び出しが働きました。ありがとうございました。このデータを解析してExcelで役に立つようにするにはどうすればいいですか? – Joe

+0

あなたのデータがExcelに適合するようにするのはちょっと難しいことです。あなたのデータのコンマを確認してください。しかし、答えを確認して、それを動作させる手がかりを与えます。 – Psidom

+0

Thanks Psidom。 on(...、row.names = NULL、check.rows = FALSE、check.names = TRUE、: 引数は行数が異なることを暗示します:

何が間違っているのかよくわかりません。私はこれだけを書いた - do.call(rbind、lapply(myList、data.frame)) – Joe

関連する問題