두 행을 헤더로 사용하여 CSV 가져 오기안녕하세요,
상대적으로 큰 CSV 파일 (± 150MB)로 작업하고 있습니다. 파일은 열 헤더로 결합해야하는 두 행으로 시작합니다.
각 열을 반복하는 스크립트를 작성하고 열 이름을 현재 이름 + 첫 번째 행의 값으로 설정했습니다.
문제는 매우 느리게 실행되며 때로는 4000 열의 이름을 변경하기 위해 ± 10 분을 기다려야합니다.
어떻게 든 파일 크기에 따라 다르며 작은 파일에서 동일한 양의 열을 변경하는 데 몇 초가 걸립니다.
몇 가지 해결 방법을 시도했습니다.
1. 첫 번째 행만 서브 세트하고 모든 열 이름을 변경합니다 (매우 빠름). 그런 다음 원래 테이블을 연결할 것이라고 생각했지만 이제 열 이름이 동일하지 않기 때문에 할 수 없습니다.
2. 제안 된대로 CSV 가져 오기 설정 업데이트 여기 . 하지만 두 행을 헤더로 포함하는 옵션이 여전히 보이지 않습니다.
3. 파일을 xls로 내 보낸 다음 두 행을 헤더로 가져옵니다. 내보내기 시간이 원래 열 이름 변경보다 깁니다.
내가 놓친 또 다른 해결 방법이 있습니까? 목록을 기반으로 모든 열 이름을 변경하는 옵션이 있습니까?
도우미에게 미리 감사드립니다.
데이터 테이블스크립팅Re : 헤더로 두 행이있는 CSV 가져 오기안녕하세요 란스 ,
JMP로 파일을 열고 "기본 프로그램을 사용하여 엽니 다. 텍스트로 열려면 선택을 취소하십시오. "를 선택한 다음"데이터 (미리보기 사용) "라디오 버튼을 선택하고 JMP 열기 창에서 모든 파일 (*. *)을 선택해야합니다.

그런 다음 데이터가 시작되는 행을 포함하여 중요한 구분 기호 및 기타 항목 중 일부를 선택할 수 있으므로 헤더로 두 행이있는 경우 하나를 건너 뛰고 데이터 시작을 3 행 또는 그 어떤 것이 든 설정합니다.

그런 다음 데이터 테이블에서 "소스"스크립트를 열고 필요에 따라 가져 오기 설정을 편집하고 JSL 프로그램에서이 스크립트를 사용할 수 있습니다.

또는 XLSX 파일로 다시 저장할 수있는 경우 Open () 명령을 사용하여 열 탭, 시작 / 중지 할 열, 시작 / 중지 할 행을 정의 할 수 있습니다. 헤더로 여러 행. 그러면 열 이름을 변경해야하는 문제가 해결됩니다.

마지막으로 언급 한 옵션은 열 이름이 무엇인지 알고 변경되지 않는 경우 스크립트에서 ColNames = { "...", "...", .. 목록을 가질 수 있다는 것입니다. .}는 목록에서 쉼표로 구분 된 따옴표 안에 모든 올바른 이름을 포함합니다. 그런 다음 CSV 파일을로드 한 후 For 루프를 실행하여 ColNames의 항목에 따라 각 열의 이름을 바꿀 수 있습니다. 예를 들면 :
dt=Current data table();//or whatever your data table name is.
icols=.;//variable to count through the columns
For(icols=1, icols<=N Columns(dt), icols++,
Column(dt, icols) <<SET name=""></SET>
이 중 하나가 도움이되기를 바랍니다.
행운을 빕니다,
DS
Re : 헤더로 두 행이있는 CSV 가져 오기하나의 파일에 대해서도 여러 파일 가져 오기를 시도 할 수 있습니다. 더 빠를 수 있으며 여러 줄 헤더를 지원합니다.
파일-> 여러 파일 가져 오기