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
| Option | Verwendung für | Beispiel |
|---|---|---|
spec_path | Lokale Diagrammzustandsdateien | spec_path="./gw_config.json" |
spec | Inline-JSON, Config-ID oder Remote-Spec-URL | spec='[{"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) -> dictspec kann Folgendes sein:
| Eingabe | Akzeptiert |
|---|---|
| Geladenes Python-Objekt | dict oder list |
| JSON-String | Ja |
| Existierender lokaler Dateipfad | Ja |
Wenn ein String wie ungültiges JSON aussieht oder der Dateipfad nicht existiert, löst migrate einen ValueError aus.
Häufige Stolperfallen
| Stolperfalle | Lösung |
|---|---|
Eine lokale Datei in neuem Code über spec übergeben | spec_path verwenden. |
Erwarten, dass statisches HTML Änderungen zurück nach spec_path speichert | Ein Live-Notebook-/App-Backend mit Speichersupport verwenden. |
spec_path an einen Adapter übergeben, der bereits einen Walker erhalten hat | Den Spec-Pfad auf dem ursprünglichen Walker setzen. |
Eine Remote-Spec-URL mit spec.migrate migrieren | Die Spec zuerst laden und dann das Objekt oder den JSON-String übergeben. |