Skip to content
PYGWALKER
API-Referenz
Spec-Dateien

PyGWalker Spec-Dateien

Eine PyGWalker-Spec speichert Diagrammzustand. Verwenden Sie spec_path für lokale Dateien, aus denen PyGWalker laden oder in die es speichern soll, und verwenden Sie spec für Inline-JSON, Config-IDs oder Remote-Specs.

import pygwalker as pyg
 
walker = pyg.walk(
    df,
    spec_path="./gw_config.json",
    computation="browser",
)

spec_path vs. spec

OptionVerwendung fürBeispiel
spec_pathLokale Diagrammzustandsdateienspec_path="./gw_config.json"
specInline-JSON, Config-ID oder Remote-Spec-URLspec='[{"name":"Chart 1", ...}]'

Für neue Beispiele mit lokalen Dateien bevorzugen Sie spec_path. Das macht Datei-Persistenz explizit und vermeidet Mehrdeutigkeit mit Inline-JSON oder Remote-Specs.

Diagrammzustand speichern und wiederverwenden

Verwenden Sie den Read-write-Spec-Modus, wenn der Adapter Speichern anbietet.

import pygwalker as pyg
 
walker = pyg.Walker(
    df,
    spec_path="./gw_config.json",
    spec_io_mode="rw",
    computation="kernel",
)
 
walker.show()

Streamlit und Gradio unterstützen ebenfalls spec_io_mode:

from pygwalker.api.streamlit import StreamlitRenderer
 
renderer = StreamlitRenderer(
    df,
    spec_path="./gw_config.json",
    spec_io_mode="rw",
    computation="kernel",
)
renderer.explorer()

Gespeicherte Diagramme rendern

Verwenden Sie render, wenn Sie gespeicherte Diagramme ohne den vollständigen Explorer anzeigen möchten.

import pygwalker as pyg
 
pyg.render(df, spec_path="./gw_config.json", computation="browser")

Verwenden Sie to_render_html für einen statischen Renderer-Export.

from pygwalker.api.html import to_render_html
 
html = to_render_html(df, spec_path="./gw_config.json", computation="browser")

Ältere Specs migrieren

pygwalker.spec.migrate aktualisiert eine gespeicherte PyGWalker- oder Graphic-Walker-Spec auf die aktuelle Schemaform.

import json
import pygwalker as pyg
 
migrated = pyg.spec.migrate("./old_gw_config.json")
 
with open("./gw_config.json", "w", encoding="utf-8") as f:
    json.dump(migrated, f, ensure_ascii=False, indent=2)

Signatur:

pygwalker.spec.migrate(spec, *, version=None) -> dict

spec kann Folgendes sein:

EingabeAkzeptiert
Geladenes Python-Objektdict oder list
JSON-StringJa
Existierender lokaler DateipfadJa

Wenn ein String wie ungültiges JSON aussieht oder der Dateipfad nicht existiert, löst migrate einen ValueError aus.

Häufige Stolperfallen

StolperfalleLösung
Eine lokale Datei in neuem Code über spec übergebenspec_path verwenden.
Erwarten, dass statisches HTML Änderungen zurück nach spec_path speichertEin Live-Notebook-/App-Backend mit Speichersupport verwenden.
spec_path an einen Adapter übergeben, der bereits einen Walker erhalten hatDen Spec-Pfad auf dem ursprünglichen Walker setzen.
Eine Remote-Spec-URL mit spec.migrate migrierenDie Spec zuerst laden und dann das Objekt oder den JSON-String übergeben.

Verwandte Anleitungen