한 줄 또는 열에 모든 정보가없는 Excel 데이터 가져 오기행 1에 이름이있는 ExceI 데이터 파일을 가져 오려고하는데 행 7에 실제 데이터 열 머리글이 시작되고 행 8에 데이터가 시작됩니다 (첨부 파일 참조). 가져온 데이터를 다음과 같이 표시하고 싶습니다.
이름 날짜 유량 -acft 농도 -ug / L (25)로드 메트릭 톤 (25)
S382_P 06/18/2015 90.890579 93 0.010426405
누구든지 스테이션 이름이 데이터와 연결되도록이 유형의 데이터를 읽을 수있는 방법에 대한 제안을 갖고 있습니까? 저에게 알려주세요. 고맙습니다!
Re : 모든 정보가 단일 행이나 열에서 발견되지 않는 곳에서 Excel 데이터 가져 오기Excel 마법사를 사용하는 경우이를 수행하는 것이 간단합니다. JMP에서는 다음으로 이동하십시오.
파일 ==> 열기
그런 다음 Excel 스프레드 시트의 위치로 이동하십시오.
읽으려는 파일을 한 번 클릭하여 강조 표시하십시오.
그런 다음 탐색 창의 왼쪽 하단 영역으로 가서 열기 옆의 드롭 다운 화살표를 클릭하십시오.
"Excel 마법사 사용"을 선택하십시오.
마법사에서 열 머리글 (6)이있는 행을 선택할 수 있습니다.
데이터가 시작되는 행 (7)Re : 모든 정보가 단일 행이나 열에서 발견되지 않는 곳에서 Excel 데이터 가져 오기Jim, 모든 데이터가 별도의 열에 포함되어 있지만 다른 파일 레이아웃이있는 경우 제공되는 지침은 정상입니다. 첨부 파일에서 방송국 이름이 한 번만 나타납니다. 행 1 , 헤더가 시작되는 동안 행 7 및에있는 데이터 8 행. 스테이션 이름은 데이터 머리글과 열 위에 "스택"되어 있습니다. 방송국 이름을 어떻게 읽을 수 있는지 알려 주시고 방송국 이름을 적절한 헤더 / 데이터에 연결하십시오.
첨부 된 예제 파일에서 데이터는 4 개의 스테이션에 대해 나열되고 이러한 스테이션의 이름은 Excel 파일 주소 (A1, I1, Q1, Y1 (노란색으로 강조 표시된))에 있습니다. 파일의 첫 번째 스테이션의 경우 스테이션 이름은 S382_P (A1에 있음)이며 해당 스테이션의 데이터는 A - H 열 (헤더는 Row7에서 시작하고 Row8에서는 데이터)에서 찾을 수 있습니다. 두 번째 스테이션은 S382_C (I1에 있음)이며 해당 스테이션의 데이터는 I - P 열 등에서 찾을 수 있습니다. 가져온 데이터를 JMP 데이터 파일로 만들 때 다음과 같이 보이게하고 싶습니다.
이름 날짜 유량 -acft 농도 -ug / L (25) 적재량 - 톤 (25) 더 많은 칼럼. . .
S382_P 06/18/2015 90.890579 93 0.010426405
Re : 모든 정보가 단일 행이나 열에서 발견되지 않는 곳에서 Excel 데이터 가져 오기죄송합니다 .... 나는 원래 질문을 오해했습니다. 아래는 제공 한 샘플 데이터 테이블과 작동하는 스크립트입니다. Open () 함수의 경로를 데이터 테이블의 경로로 변경 한 다음 스크립트를 실행하십시오.
Names default to here(1);
dtOrig = Open(
"<PATH to="" excel="" file="">\Excel_import_example_file.xlsx",
Worksheets( "example" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 0 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 1 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Create a new table with the Column names on row 7 from the original
dtResult = New Table("Final");
dtResult << New Column("Name",Character);
col=1;
While(col>0,
dtResult << New Column(dtOrig[7,col]);
If(left(dtOrig[1,col+1],5)=="Name:",col=-1);
col=col+1;
);
// Now Populate the Table
For( col = 1, col <= N Cols( dtOrig ), col++,
If( Left( dtOrig[1, col ], 5 ) == "Name:",
dtResult << Add Rows( 1 );
resultCol = 1;
Column( dtResult, resultCol)[ N Rows( dtResult ) ] = Trim( Substr( Column( dtOrig, col )[1], 6 ) );
);
resultCol = resultCol + 1;
Column( dtResult, resultCol)[ N Rows( dtResult ) ] = Num( Column( dtOrig, col )[8] );
);
close( dtOrig, nosave );</PATH>

Re : 모든 정보가 단일 행이나 열에서 발견되지 않는 곳에서 Excel 데이터 가져 오기감사 . . . 하지만 단 한 줄의 데이터 만 있으면 스크립트가 작동합니다. 그러나 여러 줄의 데이터에서는 작동하지 않습니다. 죄송합니다. 예를 들어 짧은 파일을 보냈지 만 함께 작업하는 데이터 파일에는 여러 줄의 데이터가 있습니다. 이 이메일에 파일의 긴 버전을 첨부했습니다 (pls는 워크 시트 "예"참조). 여러 줄의 데이터를 읽으면서 나를 도울 수 있다면 좋을 것입니다.
[cid : image001.png@01D51188.A1E017A0]
Re : 모든 정보가 단일 행이나 열에서 발견되지 않는 곳에서 Excel 데이터 가져 오기이미지를 첨부했을 수도 있지만 어떤 이유로 작동하지 않는 것 같습니다. 다시 가서 이미지를 첨부하려고 게시물을 편집 할 수 있습니까?Re : 모든 정보가 단일 행이나 열에서 발견되지 않는 곳에서 Excel 데이터 가져 오기당신이 참조하는 여러 줄이 8 번 줄 다음에 8 번 줄과 같은 구조 인 경우 다음 스크립트가 작동합니다
Names Default To Here( 1 );
dtOrig = Open(
"<PATH to="" file="">\Excel_import_example_file.xlsx",
Worksheets( "example" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 0 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 1 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
// Create a new table with the Column names on row 7 from the original
dtResult = New Table( "Final" );
dtResult << New Column( "Name", Character );
col = 1;
While( col > 0,
dtResult << New Column( dtOrig[7, col] );
If( Left( dtOrig[1, col + 1], 5 ) == "Name:",
col = -1
);
col = col + 1;
);
For( theRow = 8, theRow <= N Rows( dtOrig ), theRow++,
// Now Populate the Table
For( col = 1, col <= N Cols( dtOrig ), col++,
If( Left( dtOrig[1, col], 5 ) == "Name:",
dtResult << Add Rows( 1 );
resultCol = 1;
Column( dtResult, resultCol )[N Rows( dtResult )] = Trim( Substr( Column( dtOrig, col )[1], 6 ) );
);
resultCol = resultCol + 1;
Column( dtResult, resultCol )[N Rows( dtResult )] = Num( Column( dtOrig, col )[theRow] );
)
);
Close( dtOrig, nosave );</PATH>