Haal data op uit het SDV-platform
Alle datasets die je aan je account in SDV toevoegt of die met jou zijn gedeeld door premium-connecties, kunnen met behulp van de beveiligde API-connectie van het SDV-platform worden opgehaald. Zie https://app.sportdatavalley.nl/api-docs/index.html voor alle SDV API-documentatie.
Hieronder zie je een voorbeeld in Python en R om één dataset uit je SDV-account op te halen.
Opmerking: in Jupyter hub moet je het id-nummer van de dataset weten om de data op te kunnen halen. Om het ID-nummer te achterhalen, moet je in binnen SDV-platform naar de Data pagina gaan en op de specifieke dataset die je wilt analyseren klikken. Vervolgens zie je in de URL het ID-nummer van de dataset. Gebruik dit ID-nummer om de gegevens op te halen in Jupyter hub.
Python-voorbeeld
Om één specifieke dataset (geen .zip-bestanden) op te halen vanuit je SDV-account, kun je de volgende Python-code gebruiken.
import os
import requests
import pandas as pd
base_url = ‘https://app.sportdatavalley.nl/api/v1/’
api_token = os.environ[‘SDV_AUTH_TOKEN’]
dataset_id = 17090
response = requests.get(
base_url+’data/’+str(dataset_id), headers={“Authorization”: os.getenv(“SDV_AUTH_TOKEN”)} )
response.raise_for_status()
data= response.json()
De variabel ‘data’ die je krijgt is een geneste lijst met alle data uit je dataset.
Opmerking: om in het vervolg nog sneller aan de slag te kunnen met je datasets, werken we aan een Python-script om automatisch de data uit zo’n geneste lijst in een Pandas dataframe te krijgen.
R-voorbeeld
Om één specifieke dataset (geen .zip-bestanden) op te halen vanuit je SDV-account, kun je de volgende R-code gebruiken:
library (‘sdvclient’)
library (‘httr’)
get_metadata <- function (datasetid, page = 1) {
base_url <- ‘https://app.sportdatavalley.nl/api/v1’ sdv_auth_token <- Sys.getenv(‘SDV_AUTH_TOKEN’)
url <- sprintf(‘%s/metadata/%d’, BASE_URL, datasetid) print(url)
r <- httr::GET( url, httr::add_headers(Authorization = sdv_auth_token), config(followlocation = 0L))
response_data <- content(r, as = ‘parsed’)
return(response_data)
}
get_data <- function (id) {
base_url <- ‘https://app.sportdatavalley.nl/api/v1’
sdv_auth_token <- Sys.getenv(‘SDV_AUTH_TOKEN’)
url <- sprintf(‘%s/data/%s’, BASE_URL, id)
print(url)
r <- httr::GET(url, httr::add_headers(Authorization = sdv_auth_token), config(followlocation = 0L))
response_data <- content(r, as = ‘parsed’)
return(response_data)
}
dataset_id = <ID_nummer> response_data <- get_metadata(datasetid)
data <- get_data (datasetid)
Opmerking: om in het vervolg nog sneller aan de slag te kunnen met je datasets, werken we aan een R-script om automatisch de data uit zo’n geneste lijst in een dataframe te krijgen.