시간 구분자 문제데이터를 가져올 때 시간 형식에 문제가 있습니다.
우리 연구실에는 시간 형식과 관련하여 다양한 설정이 있는 Win7 또는 Win10이 설치된 컴퓨터 풀이 있습니다. 타임스탬프가 있는 데이터를 JMP12 및 14로 가져오려고 할 때 문제가 발생하는 것 같습니다. 타임스탬프의 형식은 yyyy-mm-dd hh:mm:ss(예: 2018-08-24 13:39:27)이며 테스트하는 컴퓨터에 따라 시간 형식을 사용해야 하므로 가져오기가 작동하거나 실패합니다. 콜론이나 점.모든 시스템에서 작동하는 가져오기 스크립트를 어떻게 구성할 수 있습니까?
Windows의 설정에도 불구하고 JMP에 고정 시간 형식이 없는 이유도 궁금합니다. 결국 콜론을 구분 기호로 정의하는 ISO 8601 표준이 있습니다.
Re: 시간 구분자 문제XanGregg가 제안한 설정이 정확히 우리가 찾던 설정임이 밝혀졌습니다. 나중에 누군가 이 대화를 발견할 경우를 대비하여 다음 스크립트로도 이 설정을 변경할 수 있을 것 같습니다.
Set preferences( Use JMP Locale Settings( 1 ) );
또한 Markbailey가 제안한 대로 정규식을 사용하여 입력을 약간 조정했습니다. 따라서 이 팁에 대해서도 매우 감사합니다.
Re: 시간 구분자 문제RegEx를 사용한 해결 방법에 대해 많은 감사를 드립니다. 빠른 테스트를 통해 앞으로 나아가는 데 도움이 되는 것 같습니다. 또한 다른 컴퓨터에 액세스할 수 있게 되면 "Windows 전용" 설정을 사용하여 몇 가지 테스트를 수행하겠습니다. 이것이 우리에게 보편적인 해결책이 되기를 바랍니다.
모든 도움에 감사드립니다!
Re: 시간 구분자 문제Win10 시간 구분 기호를 "."로 변경했을 때 아래의 다음 스크립트를 실행했는데 제대로 작동하는 것 같아서 세부 정보가 누락되었습니다.

그럼에도 불구하고 귀하의 경우에 유용할 수 있는 몇 가지 사항이 있습니다.
- 시스템 로케일 설정을 준수할지 여부에 대한 "Windows 특정" 아래에 JMP 전역 기본 설정이 있습니다.
- 열을 텍스트로 가져오고 나중에 구문 분석하는 경우 Parse Date() 함수에는 끌 수 있는 Use Locale 인수가 있습니다.
s = "time,
2018-08-24 13:39:27
2018-08-25 14:11:22
2018-08-26 16:33:44";
path = "$TEMP/times.csv";
Save Text File( path, s );
Open(path);
Re: 시간 구분자 문제혼란을 드려 죄송합니다.
아니요, 인수가 집합 형식을 정의하고 정규식을 포함하지 않을 수 있으므로 그렇게 하면 작동하지 않습니다. 다른 아이디어는 내 마지막 게시물을 참조하십시오.
Re: 시간 구분자 문제날짜 시간이라는 데이터 열에 문자열로 타임스탬프를 가져왔다고 가정하면 이 수식을 사용하는 새 숫자 데이터 열은 사용된 형식(설명한 두 형식 중)에 관계없이 적절한 날짜를 생성해야 합니다.
Parse Date(
Regex( :Date Time,
"(\d{4}-\d{2}-\d{2} \d{2})[:\.](\d{2})[:\.](\d{2})",
"\1:\2:\3"
)
);Re: 시간 구분자 문제같은 얘기를 하고 있는건지, 아니면 제가 익숙하지 않은 정규식을 사용하는 방법이 있는지 궁금합니다. 나는 우리의 문제를 더 명확하게 설명하려고 노력할 것입니다.
우리의 데이터는 일관된 형식(hh:mm:ss)을 가지고 있습니다. 거기에 분리기는 언제나 결장. 예를 들어 내 컴퓨터의 JMP는 이 형식으로 잘 작동하며 입력 형식 메뉴에서 이 형식을 선택하기만 하면 이 데이터를 쉽게 가져올 수 있습니다. 동료가 동일한 작업을 수행하려고 할 때 그녀의 컴퓨터에 있는 JMP는 데이터를 시간으로 인식하지 못합니다. 그녀의 컴퓨터에서 시간 형식은 hh.mm.ss(구분자로 점)여야 합니다. 따라서 두 컴퓨터 모두에서 작동하는 가져오기 스크립트를 작성하려면 먼저 해당 특정 컴퓨터에서 JMP가 예상하는 시간 형식을 식별해야 합니다.
스크립트에서 정규식을 사용하여 입력 형식을 결정할 수 있습니까? 현재 우리는 다른 시스템에 대해 다른 스크립트를 가져야 합니다(콜론이 있는 스크립트와 점이 있는 스크립트).
Format( "y.m.d h:m:s", 22, 0 ), Informat( "y-m-d h:m:s", 0 )<BR />
Format( "y.m.d h.m.s", 22, 0 ), Informat( "y-m-d h.m.s", 0 )<BR />
이것을 대신 사용할 수 있습니까?
</CODE><CODE class=" language-jsl">Format( "y.m.d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 22, 0 ), Informat( "y-m-d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 0 )
Re: 시간 구분자 문제그래서 정규 표현식을 제안했습니다. "[\.:]" 또는 "\.|:"를 구분 기호의 존재에 대한 표현식의 일부로 사용할 수 있습니다. 어떤 형식이 사용되었는지 미리 결정할 필요가 없습니다.
Re: 시간 구분자 문제제안 감사합니다! 우리는 구분 기호를 수정하려고 시도했으며 매우 쉽게 수행할 수 있지만 문제의 시스템에 따라 점이나 콜론이 될 수 있으므로 JMP가 예상하는 구분자를 감지하는 방법을 찾지 못했습니다. .
Re: 시간 구분자 문제일관된 JMP 날짜-시간 값을 생성하기 위해 문자 함수와 함께 형식 지정 옵션의 부분을 일치시키기 위해 정규식을 사용할 수 있습니다.