Bibliotheken & APIs
Alle folgenden Wege lesen dieselben veröffentlichten Dateien. Die Zahlen sind also bei jedem Weg dieselben.
JSON-API
Eine HTTP-API mit reinem Lesezugriff unter https://dataseries.org. Ein Schlüssel ist nicht nötig.
| Endpunkt | Liefert |
|---|---|
GET /catalog | die vollständige Liste der Datensätze (ID, Titel, Quelle, Lizenz, Frequenz, Zeitraum, letzte Aktualisierung) |
GET /dataset/{id}/meta | die Metadaten eines Datensatzes: Dimensionen, Ausprägungen, Beschriftungen, Einheiten, Hierarchie |
GET /series?dataset={id}&dims={spec}&from={date}&to={date} | die ausgewählten Zeitreihen als spaltenorientiertes JSON |
GET /series.csv?dataset={id}&dims={spec}&from={date}&to={date} | dieselbe Auswahl als CSV im Long-Format (eine Zeile pro Beobachtung), lesbar für jedes Werkzeug, das eine CSV-URL öffnen kann |
GET /health | Status des Dienstes |
dims wählt Ausprägungen innerhalb jeder Dimension, getrennt durch Semikolons, zum Beispiel structure=gdp;type=nom;seas_adj=csa. Ohne dims kommt der ganze Datensatz zurück. from und to sind optionale Datumsangaben im ISO-Format.
# Whole catalog curl https://dataseries.org/catalog # SECO GDP, nominal, seasonally adjusted, from 2000 curl "https://dataseries.org/series?dataset=ch_seco_gdp&dims=structure=gdp;type=nom;seas_adj=csa&from=2000-01-01" # A single-series dataset curl "https://dataseries.org/series?dataset=ch_kof_barometer"
Die Endpunkte sind unter /__docs__/ dokumentiert und lassen sich dort direkt ausprobieren. Die OpenAPI-Spezifikation liegt unter /openapi.json.
R
ds() nimmt eine Datensatz-ID und je Dimension ein Argument entgegen und gibt einen Data Frame mit einer Date-Spalte zurück. ds_catalog() listet die Datensätze auf, ds_meta() zeigt die Dimensionen und Codes eines Datensatzes, und ds_search() findet einzelne Zeitreihen.
install.packages("dataseries")
library(dataseries)
# SECO GDP, nominal, seasonally adjusted, from 2000
df <- ds("ch_seco_gdp", structure = "gdp", type = "nom", seas_adj = "csa",
from = "2000-01-01")
# A single-series dataset: no dimension arguments
df <- ds("ch_kof_barometer")Python
Das Python-Paket hat dieselben Funktionen wie das R-Paket und gibt pandas-DataFrames zurück. Die Datumsargumente heissen start und end statt from und to.
pip install dataseries
from dataseries import ds
# SECO GDP, nominal, seasonally adjusted, from 2000
df = ds("ch_seco_gdp", structure="gdp", type="nom", seas_adj="csa",
start="2000-01-01")
# A single-series dataset: no dimension arguments
df = ds("ch_kof_barometer")Andere Software
/series.csv liefert eine CSV-Datei. Jedes Werkzeug, das eine URL öffnen kann, liest eine Zeitreihe also direkt ein, mit denselben Filtern dims, from und to. Die Karte Diese Serie verwenden auf jeder Datensatzseite erzeugt den passenden Code für die aktuelle Auswahl.
# Stata
import delimited "https://dataseries.org/series.csv?dataset=ch_seco_gdp&dims=structure=gdp;type=nom;seas_adj=csa", clear
# MATLAB
T = readtable("https://dataseries.org/series.csv?dataset=ch_kof_barometer");
# Julia
using CSV, DataFrames, Downloads
df = CSV.read(Downloads.download("https://dataseries.org/series.csv?dataset=ch_kof_barometer"), DataFrame)
# Excel / Power Query: Data > Get Data > From Web, then paste the URL (refreshes in place)
https://dataseries.org/series.csv?dataset=ch_kof_barometer
# SAS
filename ds url "https://dataseries.org/series.csv?dataset=ch_kof_barometer";
proc import file=ds out=work.ds dbms=csv replace; run;
# curl / shell
curl "https://dataseries.org/series.csv?dataset=ch_kof_barometer"Downloads
Jede Datensatzseite bietet die aktuelle Auswahl, mit allfälliger Transformation, als CSV, Excel oder JSON zum Download an, das Diagramm als PNG oder SVG. Die vollständigen Dateien jedes Datensatzes (CSV-Daten, JSON-Metadaten und eine Parquet-Kopie) liegen im Repository dataseries-data.
Diagramme einbetten
Diagramme lassen sich mit einem iframe in jede Webseite einbetten. Der Reiter Einbetten der Karte Diese Serie verwenden erzeugt den Code für die aktuelle Auswahl. Eingebettete Diagramme aktualisieren sich, sobald neue Daten vorliegen.
<iframe src="https://dataseries.org/d/ch_kof_barometer?embed=1" width="100%" height="580" style="border:0;border-radius:12px" loading="lazy" title="KOF Barometer, dataseries.org"> </iframe>