我试图获得一些NBA比赛得分的JSON数据。我遇到的问题是,盒子得分的JSON数据有三个结果集,我只关心其中一个。
test<- "http://stats.nba.com/stats/boxscoretraditionalv2?EndPeriod=10&
EndRange=14400&GameID=0021500580&RangeType=2&Season=2015-16&
SeasonType=Regular+Season&StartPeriod=1&StartRange=0000"
library(jsonlite)
json_data <- fromJSON(paste(readLines(test), collapse=""))
str(json_data)
我真的只关心名为&#34; PlayerStats&#34;的结果集。并希望制作一个数据帧。我不确定如何指定或排除其他两个结果集。如果有人能帮助我解决这个问题会很棒!
答案 0 :(得分:0)
你可以试试这个,它对我有用:
#!/bin/bash
line="some string with a substring you want to match"
print_inarray ()
{
local n=$1 h
shift
for h in "$@";do
if [[ $h = *"$n"* ]]; then
printf '%s\n' "$h"
return
fi
done
return 1
}
# Read the line into an array.
read -ra arr <<< "$line"
# Find a substring of a word in array and print the complete word.
print_inarray "ubst" "${arr[@]}"
使用列表时,您可以使用df <- data.frame( json_data$resultSets[ 1 , "rowSet" ] )
names(df) <- unlist( json_data$resultSets[ 1 , "headers" ] )
来深入挖掘较低级别。