두 행을 헤더로 사용하여 csv 가져오기안녕,
상대적으로 큰 csv 파일(±150MB)로 작업하고 있습니다. 파일은 열 머리글로 결합해야 하는 두 행으로 시작합니다.
각 열을 반복하는 스크립트를 작성하고 열 이름을 현재 이름 + 첫 번째 행의 값으로 설정했습니다.
매우 느리게 실행되는 문제입니다. 때로는 4000개 열의 이름을 변경하기 위해 ±10분을 기다려야 합니다.
어떻게 든 파일 크기에 따라 다르며 작은 파일에서 동일한 양의 열을 변경하는 데 몇 초가 걸립니다.
몇 가지 해결 방법을 시도했습니다.
1. 첫 번째 행만 하위 집합으로 만들고 모든 열 이름을 변경합니다(매우 빠름). 그런 다음 원본 테이블을 연결해야겠다고 생각했지만 이제 열 이름이 동일하지 않기 때문에 연결할 수 없습니다.
2. 제안된 CSV 가져오기 설정 업데이트 여기 . 하지만 여전히 헤더로 두 행을 포함하는 옵션이 표시되지 않습니다.
3. 파일을 xls로 내보낸 다음 두 행을 헤더로 가져옵니다. 내보내기 시간이 원래 열 이름 변경보다 깁니다.
내가 놓친 또 다른 해결 방법이 있습니까? 목록을 기반으로 모든 열 이름을 변경하는 옵션이 있습니까?
도우미들에게 미리 감사드립니다.
데이터 테이블스크립팅Re: 헤더로 두 행이 있는 csv 가져오기하나의 파일에 대해서도 여러 파일 가져오기를 시도할 수 있습니다. 더 빠를 수 있으며 여러 줄 헤더를 지원합니다.
File->Import Multiple FilesFile->Import Multiple Files파일->여러 파일 가져오기
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