JMP 파이썬 스크립트 편집기에서 'import jmp' 다음에 제가 읽고 쓰고 싶은 열려 있는 jmp 테이블을 가리키는 코드는 무엇인가요? JMP 파이썬에서 간단하고 '네이티브'할 거라고 생각했는데, '열려 있는 테이블 없음'이라는 메시지가 나옵니다.
스크립팅 인덱스와 스크립팅 가이드에는 이에 대한 예가 있습니다.

import jmp
jmp.open(jmp.SAMPLE_DATA + 'Big Class.jmp')
print(jmp.current())
스크립팅 가이드 > Python > JMP 데이터 테이블 작업 > 연산자를 사용하여 JMP 객체 테스트 (최고의 예는 아님)
스크립팅 가이드 > Python > Python 구문 참조 > jmp 패키지 함수
jmp 가져오기 패키지는 Python 스크립트와 JMP 내부 사이의 인터페이스 계층입니다. 전체 파이썬 스크립팅 인덱스에 카테고리가 추가되었습니다. 이 섹션에서는 Python에서 JMP와 상호 작용하는 방법에 대한 설명서와 예제를 제공합니다. Python 통합은 현재 진행 중입니다. JMP 18은 주로 필요한 최소한의 기능 집합에 중점을 둡니다. 패키지 설치, 데이터 테이블 상호 작용, JMP와 Python 간 데이터 전송 등이 포함됩니다. JMP 19는 추가 데이터 테이블 열 지원, 데이터 프레임과의 향상된 상호 작용, JMP -> Python, Python -> JMP 데이터 유형 지원 및 기타 새로운 기능을 통해 이러한 기능을 확장합니다.
도움을 주신 분들께 감사드립니다. 원하는 테이블을 '열' 수 있었습니다. 혹시 제가 만든 코드를 사용해서 jmp 테이블을 열고, 열 항목을 타사 웹사이트로 내보내 각 열 항목과 관련된 페이지에서 데이터를 추출할 수 있는 분들을 위해 제가 작성한 Python 코드의 일반적인 형태를 소개합니다. 로그에서 추출하는 대신 출력을 jmp 테이블에 직접 로드할 수 있도록 하는 작업을 진행 중이지만, 이러한 로그 추출 기능을 통해 편집은 가능합니다.
jmp 가져오기
셀레늄에서 웹드라이버 가져오기
selenium.webdriver.common.by에서 가져오기
selenium.webdriver.chrome.options에서 옵션 가져오기
selenium.webdriver.support.ui에서 WebDriverWait 가져오기
selenium.webdriver.support에서 expected_conditions를 EC로 가져오기
selenium.common.exceptions에서 TimeoutException을 가져옵니다.
# Selenium WebDriver 설정
옵션 = 옵션()
options.headless = False # 디버깅을 위해 Safari를 표시 모드로 실행합니다.
# WebDriver 초기화(Safari)
드라이버 = webdriver.Safari()
# JMP 파일 경로(제공한 경로에 맞게 조정됨)
file_path = "/YOUR JMP PATH.jmp"
# 파일 경로로 특정 테이블 열기
dt = jmp.open(file_path) # 파일에서 직접 테이블을 엽니다.
# 열려 있는 테이블에서 'YOUR_COLUMN' 열에 접근합니다.
YOUR COLUMN_column = dt["YOUR COLUMN"] # 열에 액세스하기 위한 올바른 구문
# 결과를 저장할 목록을 초기화합니다(새로운 열 )
결과 = []
# 귀하의 데이터를 추출하는 기능:
url = f' https://www. 추출할 웹 페이지'
노력하다:
# URL을 엽니다
드라이버.get(URL)
# 페이지가 로드될 때까지 기다리는 짧은 시간(예: 5초)을 설정합니다.
WebDriverWait(드라이버, 5).until(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을 반환합니다
TimeoutException을 제외하고:
print(f"YOUR_COLUMN {YOUR_COLUMN}에 대한 시간 초과 오류: URL이 지정된 시간 내에 로드되지 않았습니다.")
return None, None # URL이 로드되지 않으면 None을 반환합니다. 귀하의 태그
예외를 제외하고 e:
print(f"YOUR_COLUMN {YOUR_COLUMN}에 대한 YOUR TAGS 추출 중 오류 발생: {e}")
None, None을 반환합니다.
# 각 행을 반복합니다
당신의 출력 = 당신의 출력(당신의 열)을 얻으세요
results.append((YOUR_OUTPUT)) # 결과를 튜플로 저장합니다.
# 결과를 인쇄합니다
print(f"당신의_열: {당신의_열} -> 당신의_태그: {당신의_새_데이터})
# 모든 항목을 처리한 후 WebDriver를 닫습니다.
드라이버.종료()
결과가 나오면 이를 데이터 표에 직접 입력하는 방법이 여러 가지 있습니다.
표에서 특정 셀 값을 설정하려면
dt['col_name'][ row# ] = value
Python에서는 인덱싱이 0부터 시작하는 반면, JSL에서는 1부터 시작합니다. 따라서 Python의 첫 번째 행은 dt['col'][0]입니다.
또는 목록에서 한 번에 전체 열을 설정합니다.
dt['col'] = results
위의 경우 결과의 길이는 데이터 테이블의 행 수와 일치해야 합니다. len(results) == dt.nrows
또한 dt의 데이터 유형은 목록의 모든 요소의 데이터 유형과 일치해야 하며, 모든 요소는 동일한 유형이어야 합니다.
Python에서 새로운 데이터 테이블을 만들 수 있고, 새로운 열과 행도 만들 수 있습니다.