如何使用 JMP Python 編寫 .jmp 文件您好,我正在使用 JMP19.1.1 版本。
我看到了一些如何使用 JMP 或 JSL 開啟檔案、新增用於繪圖的 jsl 腳本並執行它們的範例。
有沒有使用 JMP Python 開啟 csv 檔案並產生包含圖表的 .jmp 檔案的範例?大家都是怎麼做的?
阿德里安
自動化和腳本編寫基礎資料分析與建模資料存取回覆:如何使用 JMP Python 撰寫 .jmp 文件可以使用DataTable的節省方法儲存資料。

若要新增表格腳本,您可以使用true_jsl或帶有 jmp 。表達的腳本 。

回覆:如何使用 JMP Python 撰寫 .jmp 文件你好,
謝謝回覆。我指的是不使用 jmp 函式庫。我指的是使用 Python 程式碼處理數據,並輸出 csv 檔案。我想改成寫入 .jmp 檔案。有什麼方法可以做到嗎?例如,直接將 Pandas 資料幀轉換為 .jmp 檔案?
謝謝
回覆:如何使用 JMP Python 撰寫 .jmp 文件據我所知,不行。你需要在 JMP 內部運行 Python 程式碼。
回覆:如何使用 JMP Python 撰寫 .jmp 文件以下是我嘗試運行的命令:
from pathlib import Path
導入 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("開啟:", csv_path)
dt = jmp.open(str(csv_path))
print("正在儲存:", out_path)
dt.save(str(out_path))
print("完成")
我在 PowerShell 中這樣運作:`& "C:\Program Files\JMP\JMP\19\jmp.exe" -R "C:\Work\debug\jmp_debug\jmp_csv_to_jmp_simple.py"`。問題是它會彈出三個視窗。請問有沒有辦法以無頭模式運行 JMP?也就是說,運行它的時候不彈出這麼多視窗?
回覆:如何使用 JMP Python 撰寫 .jmp 文件直接使用 .jmp 檔案的主要原因是這些 CSV 格式的檔案大小在 4-10 GB 之間,處理起來非常麻煩。理想情況下,我們可以將 pandas 資料幀傳遞給 jmp 表並寫入資料。
回覆:如何使用 JMP Python 撰寫 .jmp 文件這真是太麻煩了。看來確實沒有辦法讓它以無頭模式運作。這真是令人驚訝。一定是我弄錯了,或者沒有找到正確的文檔。如果有人知道如何以無頭模式運行 jmp,那就太好了。也就是說,我可以在腳本中運行它,而不會彈出三到四個新視窗。
回覆:如何使用 JMP Python 撰寫 .jmp 文件在 JMP 19.1.3 和純 Python 3.13.3(非 JMP 環境)中,我得到了以下改進。現在只會彈出 .jmp 表的建立資訊。所以這已經接近解決方案了。我仍然很想知道是否有關於無頭模式的資訊?
from pathlib import Path
導入時間
導入 win32com.client
def jsl_quote(path_or_text) -> str:
text = str(path_or_text)
text = text.replace("\\", "\\\\").replace('"', '\\"')
返回 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")
# 先嘗試設定為 False。如果仍然無效,則在偵錯時設為 True。
jmp.Visible = False
jsl = f"""
名稱預設值為此處(1);
dt = Open({jsl_quote(csv_path)},Invisible);
dt << Save As( {jsl_quote(out_path)} );
關閉(dt,不儲存);
"""
print("正在執行 JSL...")
jmp.RunCommand(jsl)
# 如果 RunCommand 在儲存完成之前返回,請給 JMP 一點時間。
time.sleep(2)
print("已儲存?", out_path.exists(), out_path)
回覆:如何使用 JMP Python 撰寫 .jmp 文件處理大型檔案時,CSV 格式非常繁瑣。我的建議是將檔案寫入 Parquet 格式,然後在 JMP 中匯入 pyarrow 函式庫,載入 Parquet 檔案。它可以幾乎零延遲地轉換為 pandas DataFrame。 JMP 可以直接讀取 pandas 欄位來建立資料表,並且具有 `jmp.from_dataframe(df)` 函數。如果您使用的是 pandas 3.0 或更高版本,他們已經開始發出一些棄用警告,但這些問題在 JMP 的開發版本中已經解決,可以直接使用 pyarrow 的 PyCapsule 介面。 CSV 格式也存在格式不精確的問題。請檢查您的小數位數。字串到雙精度浮點數的轉換可能會存在細微差異,尤其是在從數值轉換為 CSV 格式然後再轉換回來的情況下。
回覆:如何使用 JMP Python 撰寫 .jmp 文件如果您想使用 csv 以外的其他格式,JMP 可以原生讀寫 sqlite 檔案。
目前,在寫入/匯出時,每個 JMP 資料表都會產生一個 SQLite 檔案。 SQLite 檔案中可以包含多個資料表。
回覆:如何使用 JMP Python 撰寫 .jmp 文件sqlite3 的最大列數限制為 64K。如果你的檔案數量低於這個限制,應該沒問題,但我建議你也檢查一下產生的資料庫大小。如果你的文件主要是文本,那麼資料庫大小可能不會縮小太多。數值檔案所佔用的空間應該比 CSV 檔案小得多。