open ()에서 데이터 테이블을 목록에 저장안녕하세요,
open () 키워드를 사용하여 여러 워크 시트를 열고이 데이터 테이블을 목록에 저장하고 싶습니다.
Tables = {};
//normaly I would like to use a for loop here, however the number of worksheets will vary.
Tables = Open ("pathway",
invisible, info about the data..);
//do something with the tables
for (i = 1, i <= NITEMS(Tables), i++,
close(Tables[i], nosave);
);
추가 질문 :
또한 사용자 이름 / 암호로 보호 된 검색 / 라이브러리를 사용하여 jmp로 정보를 검색하고 다운로드 할 수 있습니까?
종류는 안부
Anders
Re : 데이터 테이블을 open ()에서리스트로 저장하기안녕하세요,
네, 내 목록은 그렇게 보입니다.
나는 while 루프 (file = Tables)를 구현함으로써이 문제를 해결했다. 동일한 목록을 참조하는 두 개의 루프가있을 때 JMP는 내 참조를 찾을 수 없습니다. 내게 그것은 Tables = 반복 (....)라고 말하면서 테이블이 루프 밖에서 선언 된 것처럼 보일 수 있습니다. 그러나 테이블 외부에서 {{}를 선언하더라도 여전히 두 번째 for 루프에서 참조 할 수 없습니다. . 이 이유를 아십니까?
f = N 항목 (flist)
동안 ( 에프 > 0 ,
나는 = 1 ;
dt = 열다 (
mypath || 낚시꾼 [ 에프 ] ,
설정 가져 오기 (
라인 끝 ( CRLF , CR , LF ) ,
필드 끝 ( 다른 ( ";" ) , CSV ( 0 ) ) ,
스트립 인용문 ( 1 ) ,
따옴표로 아포스트로피 사용 ( 0 ) ,
전체 파일 검색 ( 1 ) ,
빈 열을 숫자로 처리하십시오. ( 0 ) ,
NumericColumns 압축 ( 0 ) ,
CompressCharacterColumns ( 0 ) ,
CompressAllowListCheck ( 0 ) ,
레이블 ( 1 ) ,
열 이름 시작 ( 1 ) ,
데이터 시작 ( 2 ) ,
읽기 라인 ( "모든" ) ,
연도 규칙 ( "20xx" )
) ,
) ;
파일 [ 나는 ] = dt ;
나는 = 나는 + 1 ;
에프--;
....
);
Re : 데이터 테이블을 open ()에서리스트로 저장하기내 코드를 .csv 파일로 시도했는데 작동합니다 (Mac의 경우 JMP 12.2). 또한 보이지 않는 파일에서도 작동합니다.
그만큼 테이블 목록은 다음과 같이 보일 것입니다 :
보여 주다 ( 테이블 )
/ * :
테이블 = {DataTable ( "데이터 1"), DataTable ( "데이터 2"), DataTable ( "데이터 3")};
csv가 JMP의 데이터 테이블로 제대로 열리도록하십시오 (일시적으로 꺼짐). 보이지 않는 ) 이전 작업에서 테이블을 닫지 않았 음을 나타냅니다.
Re : 데이터 테이블을 open ()에서리스트로 저장하기안녕하세요,
내 스크립트의 다른 섹션에이 코드를 포함 시키려고했지만 테이블의 내 테이블을 참조하기 위해 dt = Tables [i] 또는 dt = Data Table (Tables [i])을 얻을 수 없습니다. 예를 보려면 아래를 참조하십시오.
// 코드를 사용하여 지정된 디렉토리의 모든 파일을 열고 디버깅하는 동안 테이블에 내 CSV 파일에 대한 참조가 포함되어있어이 부분이 작동하는 것처럼 보입니다.
for (i = 1, i <= N ITEMS (Tables), i ++,
dt = 데이터 표 ( 테이블 [ 나는 ] ) ; // JMP는 테이블의 테이블에 대한 참조를 찾을 수 없습니다. dt = Tables [i]도 작동하지 않습니다.
dt << 새 열 ( "신호" ) ;
dt << 선택한 열 이동 ( { "신호" } , 처음으로 ) ;
: 신호 << 데이터 형식 ( 캐릭터 ) ;
안부 = 기둥 ( 1 ) ;
dt << 새 열 ( "소스 테이블" , 캐릭터 ) ;
: 소스 테이블 << 각 값 설정 ( dt << 이름 가져 오기 () ) ;
dt << 선택한 열 이동 ( { "소스 테이블" } , 처음으로 ) ;
Re : 데이터 테이블을 open ()에서리스트로 저장하기빠른 답장을 보내 주셔서 감사합니다. 그것의 아주 우아한 코드와 내 문제를 완벽하게 해결해 주셔서 감사합니다.Re : 데이터 테이블을 open ()에서리스트로 저장하기목록을 작성하려면 여기 루프가 필요하다고 생각합니다. 그만큼 디렉토리의 파일 () 함수는 파일 수가 다양하고 모두 동일한 디렉토리에있는 경우 유용합니다.
예 :
// Define path and file type
mypath = "path";
ftype = ".jmp";
// Make list of files, remove all non-matching files
flist = Files In Directory(mypath);
For(i = N Items(flist), i > 0, i--,
If(!Ends With(flist[i], ftype),
Remove From(flist, i)
)
);
// Open and create list of tables
Tables = Repeat(
i = 0;
{i++ ; Open(mypath || flist[i])};,
N Items(flist)
);
//do something with the tables
For(i = 1, i <= N Items(Tables), i++,
Close(Tables[i], No Save)
);