在 JMP Python 腳本編輯器中,「import jmp」後面指向開啟的 JMP 表的程式碼是什麼?我想用程式碼讀寫它,它應該很簡單,而且 JMP Python 原生支援。但我卻提示「沒有開啟表」。
腳本索引和腳本指南確實有這方面的例子

import jmp
jmp.open(jmp.SAMPLE_DATA + 'Big Class.jmp')
print(jmp.current())
腳本指南 > Python > 使用 JMP 資料表 > 使用運算子測試 JMP 物件(並非最佳範例)
腳本指南 > Python > Python 語法參考 > jmp 套件函數
導入跳轉套件是 Python 腳本和 JMP 內部函數之間的介面層。完整的Python 類別已新增至腳本索引。本節提供從 Python 與 JMP 互動的文檔和範例。 Python 整合工作仍在持續進行中。 JMP 18 主要關注最低限度的必要功能集,例如軟體包安裝、資料表互動以及 JMP 與 Python 之間的資料傳輸。 JMP 19 在此基礎上進行了擴展,增加了對資料表列的支援、與資料框的更好交互作用、新增了 JMP -> Python、Python -> JMP 資料類型支援以及其他新功能…
感謝那些回覆幫助的人。我確實成功地“打開”了我想要的表格。對於那些可能能夠使用我的方法打開跳轉表,然後將列條目導出到第三方網站以從與每個列條目相關的頁面中提取資料的人,這裡是我編寫的Python程式碼的通用形式。我仍在努力將輸出直接加載回跳躍表,而不是從日誌中提取,儘管這種日誌提取確實允許編輯。
導入跳轉
從 selenium 導入 webdriver
從 selenium.webdriver.common.by 導入
從 selenium.webdriver.chrome.options 導入選項
從 selenium.webdriver.support.ui 導入 WebDriverWait
從 selenium.webdriver.support 導入預期條件作為 EC
從 selenium.common.exceptions 導入 TimeoutException
# 設定 Selenium WebDriver
選項=選項()
options.headless = False # 以可見模式運行 Safari 進行調試
# 初始化 WebDriver(Safari)
驅動程式 = webdriver.Safari()
# JMP 檔案的路徑(調整為您提供的路徑)
file_path =“/你的JMP路徑.jmp”
# 透過檔案路徑開啟特定的表
dt = jmp.open(file_path) # 直接從檔案開啟表
# 從開啟的表中存取「YOUR_COLUMN」列
YOUR COLUMN_column = dt["YOUR COLUMN"] # 存取列的正確語法
# 初始化一個清單來儲存結果(您的新欄位)
結果 = []
# 提取您的資料的功能:
url = f' https://www.YOUR WEB PAGE TO EXTRACT FROM'
嘗試:
# 開啟 URL
驅動程式.get(url)
# 設定短暫的超時時間(例如 5 秒)來等待頁面加載
WebDriverWait(驅動程序,5).直到(EC.presence_of_element_located((By.XPATH,“//a[contains(@href,'YOUR_KEY')]”)))
# 調整 XPath 以取得正確的連結(例如,取得第一個符合)
YOUR_tag = driver.find_element(By.XPATH, "//a[contains(@href, 'YOUR_KEY') and not(contains(@href, 'access'))]") # 排除 'access' 相關連結
YOUR_KEY = YOUR_TAG.text.strip() # 擷取 YOUR KEY 的文本
回到 YOUR_OUTPUT
除超時異常外:
print(f"YOUR_COLUMN {YOUR_COLUMN} 逾時錯誤:URL 未在指定時間內載入。")
傳回 None, None # 如果 URL 未加載,則傳回 None 您的標籤
except 異常為 e:
print(f"提取 YOUR_COLUMN {YOUR_COLUMN} 的 YOUR TAGS 時發生錯誤:{e}")
返回 None,None
# 迭代每一行
您的輸出 = 取得您的輸出(您的列)
results.append((YOUR_OUTPUT)) # 將結果儲存為元組
# 列印結果
列印(f“YOUR_COLUMN:{YOUR_COLUMN} -> YOUR_TAG:{YOUR_NEW_DATA})
# 處理完所有條目後關閉 WebDriver
驅動程式.退出()
您獲得了結果,有多種方法可以將其直接放入資料表中。
設定表中的特定儲存格值
dt['col_name'][ row# ] = value
記住,Python 中的索引是從零開始的,而 JSL 中的索引是從一開始的。所以 Python 中的第一行是 dt['col'][0]
或從清單中一次設定一整列
dt['col'] = results
上述結果的長度必須與資料表的行數匹配, len(results)==dt.nrows
此外,dt 的資料類型必須與清單元素的資料類型相匹配,並且所有元素必須屬於相同類型。
可以從 Python 建立新的資料表,也可以建立新的列和行。