簡體   English   中英

JSON到R data.frame

[英]JSON to R data.frame

我在使用rjson包將JSON轉換為R data.frame

我開始於:

library("rjson")
json_file <- "btcusd.txt"
json_data <- fromJSON(paste(readLines(json_file), collapse=""))

btcusd.txt文件包含以下內容:

{"Response":"Success","Type":100,"Aggregated":true,"Data":
        [{"time":1510650000,"close":6488.28,"high":6618.69,"low":6482.22,"open":6492.35,"volumefrom":9422.44,"volumeto":61626698.63},
        {"time":1510671600,"close":6541,"high":6592.05,"low":6487.35,"open":6549.1,"volumefrom":12618.61,"volumeto":82634018.7},],
        "TimeTo":1511298000,"TimeFrom":1510574400,"FirstValueInArray":true,"ConversionType":{"type":"direct","conversionSymbol":""}}

誰能幫我把它變成一個data.frame嗎?

我會嘗試jsonlite包。

根據您的經驗,我會嘗試以下方法:

install.packages("jsonlite")
library(jsonlite)

mydata <- fromJSON("btcusd.txt")

但是,我檢查了您的數據,結果很混亂。 您能否提供一些其他信息? 如果那是來自API,那么閱讀XML版本可能會更容易。

JSON輸入中有一個逗號。 如果刪除逗號,則可以:

json_txt <- '{
    "Response": "Success",
    "Type": 100,
    "Aggregated": true,
    "Data": [{
            "time": 1510650000,
            "close": 6488.28,
            "high": 6618.69,
            "low": 6482.22,
            "open": 6492.35,
            "volumefrom": 9422.44,
            "volumeto": 61626698.63
    }, {
            "time": 1510671600,
            "close": 6541,
            "high": 6592.05,
            "low": 6487.35,
            "open": 6549.1,
            "volumefrom": 12618.61,
            "volumeto": 82634018.7
    }], 
    "TimeTo": 1511298000,
    "TimeFrom": 1510574400,
    "FirstValueInArray": true,
    "ConversionType": {
            "type": "direct",
            "conversionSymbol": ""
    }   
}'  
data.frame(fromJSON(json_txt))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM