我正在嘗試將“資料”放入資料框中,但無法找到在 R 中執行此操作的簡單方法。這只是整個 JSON 中的一個片段。
[
{
"something": 555,
"timestamp": "aTimeStamp",
"data": [
{
"company": "something1",
"quarter": 1,
},
{
"company": "something2",
"quarter": 1,
}
}
]
我可以很容易地在 Python 中使用
data = json.load(filepath)
for i in data["data"]:
//do stuff
但是我在 R 中找不到一種簡單的方法來做到這一點。我發現的所有指南看起來都像是在使用 nosql 資料庫中的 JSON,而不是像這樣我們包含“某物”和“時間戳”的東西。
更新:
df_json <- fromJSON(json_data, simplifyDataFrame = TRUE)
# get a glimpse of the list_json2 object
glimpse(df_json)
glimpse(as.data.frame(df_json["data"])
這段代碼會產生,$ data <list> [<data.frame[21 x 20]>]但我無法弄清楚如何獲取在資料中找到的資訊并將其正確放入資料框中。
uj5u.com熱心網友回復:
要將其轉換為資料幀,您可以unnest()從tidyverse庫中使用,例如,
library(jsonlite)
library(tidyverse)
df_json <-fromJSON(json_data, simplifyDataFrame = TRUE)
out <- df_json%>% unnest(data) %>% data.frame()
out
給,
something timestamp company quarter
1 555 aTimeStamp something1 1
2 555 aTimeStamp something2 1
資料:
[
{
"something": 555,
"timestamp": "aTimeStamp",
"data": [
{
"company": "something1",
"quarter": 1
},
{
"company": "something2",
"quarter": 1
}
]
}
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/370950.html
