Wie man .jmp-Dateien mit JMP (Python) schreibtHallo, ich verwende JMP 19.1.1.
Ich sehe Beispiele dafür, wie man mit JMP oder JSL Dateien öffnet, JSL-Skripte zum Plotten hinzufügt und diese dann ausführt.
Gibt es Beispiele für die Verwendung von JMP Python zum Öffnen von CSV-Dateien und zum Erstellen von .jmp-Dateien mit Diagrammen? Wie gehen andere dabei vor?
Adrian
Automatisierung und SkripterstellungGrundlagen der Datenanalyse und ModellierungDatenzugriffBetreff: Wie man .jmp-Dateien mit JMP Python schreibtDas Speichern kann mit der Speichermethode von DataTable erfolgen.

Um Tabellenskripte hinzuzufügen, können Sie entweder true_jsl oder Skripte mit jmp .Ausdruck verwenden.

Betreff: Wie man .jmp-Dateien mit JMP Python schreibtHallo,
Danke für die Antwort. Ich meine, die JMP-Bibliotheken nicht zu verwenden. Ich meine Python-Code, der Daten verarbeitet und CSV-Dateien ausgibt. Ich möchte auf das Schreiben von JMP-Dateien umsteigen. Gibt es dafür eine Möglichkeit? Kann man beispielsweise einen Pandas-DataFrame direkt in eine JMP-Datei konvertieren?
Danke
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtMeines Wissens nein. Sie müssten Python innerhalb von JMP ausführen.
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtFolgendes versuche ich auszuführen:
from pathlib import Path
import jmp
csv_path = Path(r"C:\Work\debug\jmp_debug\CT_Pro_PRO0CV2_pass_fail_05302026.csv")
out_path = Path(r"C:\Work\debug\jmp_debug\CT_Pro_PRO0CV2_pass_fail_05302026.jmp")
print("Öffnen:", csv_path)
dt = jmp.open(str(csv_path))
print("Speichern:", out_path)
dt.save(str(out_path))
print("Fertig")
Ich starte JMP folgendermaßen: `& "C:\Program Files\JMP\JMP\19\jmp.exe" -R "C:\Work\debug\jmp_debug\jmp_csv_to_jmp_simple.py"` in PowerShell. Das Problem ist, dass dadurch drei Fenster geöffnet werden. Gibt es eine Möglichkeit, JMP im Hintergrund auszuführen? Also ohne dass sich plötzlich mehrere Fenster öffnen?
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtDer Hauptgrund, direkt .jmp-Dateien zu verwenden, ist ihre Größe von 4–10 GB im CSV-Format. Das ist umständlich. Idealerweise könnten wir einen Pandas-DataFrame an die .jmp-Tabelle übergeben und ihn dort schreiben.
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtDas ist wirklich ärgerlich. Anscheinend gibt es keine Möglichkeit, das Ganze ohne Benutzeroberfläche auszuführen. Das ist wirklich überraschend. Ich muss mich irren und die falsche Dokumentation haben. Falls jemand Informationen dazu hat, wie man jmp ohne Benutzeroberfläche ausführt, wäre das sehr hilfreich. Ich möchte es also in einem Skript ausführen können, ohne dass drei oder vier neue Fenster geöffnet werden.
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtIn JMP 19.1.3 und reinem Python 3.13.3 (ohne JMP) konnte ich folgende Verbesserung erzielen: Es wird lediglich die Erstellung der .jmp-Tabelle angezeigt. Das kommt einer Lösung schon recht nahe. Ich würde aber trotzdem gerne wissen, ob es Informationen für den Betrieb ohne Benutzeroberfläche gibt.
from pathlib import Path
Importzeit
import win32com.client
def jsl_quote(path_or_text) -> str:
text = str(path_or_text)
text = text.replace("\\", "\\\\").replace('"', '\\"')
return f'"{text}"'
csv_path = Path(r"C:\Work\debug\jmp_debug\05302026.csv")
out_path = Path(r"C:\Work\debug\jmp_debug\05302026.jmp")
jmp = win32com.client.Dispatch("JMP.Application")
# Versuchen Sie zuerst False. Wenn nichts funktioniert, setzen Sie True während des Debuggens.
jmp.Visible = False
jsl = f"""
Namen werden standardmäßig hier angezeigt ( 1 );
dt = Open({jsl_quote(csv_path)},Invisible);
dt << Save As( {jsl_quote(out_path)} );
Close( dt, "Nicht speichern" );
"""
print("JSL wird ausgeführt...")
jmp.RunCommand(jsl)
# Warten Sie einen Moment, bis JMP zurückkehrt, falls RunCommand vor Abschluss des Speicherns zurückkehrt.
time.sleep(2)
print("Gespeichert?", out_path.exists(), out_path)
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtCSV-Dateien sind für große Datenmengen umständlich. Ich empfehle, die Dateien im Parquet-Format zu speichern, dann pyarrow in JMP zu importieren und die Parquet-Datei zu laden. Diese lässt sich nahezu zeitsparend in einen Pandas-DataFrame konvertieren. JMP kann Pandas-Spalten direkt beim Erstellen einer Datentabelle einlesen und bietet die Funktion `jmp.from_dataframe(df)`. Bei Pandas 3.0 und höher gibt es zwar einige Warnungen zu veralteten Funktionen, diese wurden jedoch in den Entwicklungsversionen von JMP durch die direkte Verwendung der pyarrow-PyCapsule-Schnittstelle behoben. CSV hat zudem den Nachteil, dass es kein exaktes Format ist. Achten Sie auf die Dezimaltrennzeichen. Die Konvertierung von String zu Double kann geringfügige Abweichungen aufweisen, insbesondere da es sich um eine Umwandlung von numerisch zu CSV und zurück handelt.
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtJMP kann SQLite-Dateien nativ lesen und schreiben, falls Sie ein anderes Format als CSV verwenden möchten.
Aktuell wird beim Schreiben/Exportieren für jede JMP-Datentabelle eine separate SQLite-Datei erstellt. SQLite kann jedoch mehrere Tabellen in einer Datei enthalten.
Betreff: Wie man .jmp-Dateien mit JMP Python schreibtsqlite3 hat eine maximale Spaltenanzahl von 64.000. Wenn Sie unter diesem Limit liegen, sollte alles in Ordnung sein. Ich würde aber trotzdem die Größe der resultierenden Datenbank überprüfen. Sie ist möglicherweise nicht viel kleiner, wenn Ihre Dateien hauptsächlich Text enthalten. Numerische Daten benötigen deutlich weniger Speicherplatz als CSV-Dateien.