여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.사용자에게 동일한 유형의 여러 파일을 선택하고 연 다음 열 이름을 바꿀 수 있는 옵션을 제공하는 스크립트가 있습니다. 파일을 선택하고 여는 것은 잘 작동하지만 열 이름을 바꾸는 것이 문제였습니다. 아래는 내가 지금까지 가지고 있는 것입니다.
Names Default To Here( 1 );
Files = Pick File(
"Select File(s)",
"C:\Users\dkraeuter\Desktop\Temp\Test",
{"All Files|*"},
1,
0,
"",
"multiple"
);
y = {"Test", "Run", "Model"};
For( i = 1, i <= N Items( Files ), i++,
Try( Open( Files[i], "text" ) );
dt = Current Data Table() // Use Current Data Table;
For( n = 1, n < 56, n++,
:Column( n ) << Set Name( y[n] )
);
);
Re: 여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.로그에 오류가 있습니까?
Re: 여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.안녕하세요 짐, 아래 사항에 대해 도움을 주실 수 있나요?
가져오는 데이터 테이블이 2개 있고 두 테이블 모두의 열 이름을 변경하려는 경우 어떻게 해야 합니까? 아래 스크립트 섹션이 작동하지 않습니까? 즉, 한 테이블의 열 이름만 변경되고 다른 테이블의 열 이름은 변경되지 않습니다.
dt1 = 데이터 테이블(1);
dt1 << 선택 위치( :Result_Valid != 1 );
dt1 << 숨기기 및 제외;
dt1 << 제외 선택;
dt1 << 행 삭제;
dt1 << 세트 이름 ("데이터 2");
dt1 << 열 삭제("부품 번호", "고유 ID");
dt1 << 텍스트를 열로(구분자( "_" ),columns( :파일 이름 ),);
dt1 = :파일 이름 1 << 이름 설정 ("실행 시간");
dt1 = :파일 이름 2 << 이름 설정 ("차원");
dt1 = :파일 이름 3 << 이름 설정 ("데이터 유형");
dt2 = 데이터 테이블(2);
dt2 << 선택 위치( :Result_Valid != 1 );
dt2 << 숨기기 및 제외;
dt2 << 제외 선택;
dt2 << 행 삭제;
dt2 << 세트 이름 ("데이터 1");
dt2 << 열 삭제("부품 번호", "고유 ID");
dt2 << 텍스트를 열로(구분자( "_" ),columns( :파일 이름 ),);
dt2 = :파일 이름 1 << 이름 설정 ("실행 시간");
dt2 = :파일 이름 2 << 이름 설정 ("차원");
dt2 = :파일 이름 3 << 이름 설정 ("데이터 유형");
Re: 여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.Y 목록에는 49개의 요소만 있는데 56개로 이동하려고 합니다.또 다른 가능성은 읽고 있는 50개의 데이터 테이블이 처음으로 49개보다 큰 열이라는 것입니다.코드에서 이를 확인하고 49개 열만 반복해야 하며, 데이터 테이블에 열이 더 적은 경우 열 수에 대해 1만 반복해야 합니다.
Re: 여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.스크립트를 사용하고 있는데 문제가 발생했습니다. "n" 값이 50을 초과하면 선택한 파일 수에 관계없이 하나의 파일만 열고 열 이름을 바꿉니다. 로그에 표시된 오류는 'y[n]' , y[/*###*/n] 액세스 또는 평가 시 첨자 범위입니다.
여기 내 현재 스크립트가 있습니다.
Names Default To Here( 1 );
Files = Pick File(
"Select File(s)",
"C:\Users\dkraeuter\Desktop\Temp\Azure",
{"All Files|*"},
1,
0,
"",
"multiple"
);
y = {"Blank", "Feed Step 2", "Cycle Stopped", "Spindle Speed 1", "Spindle Speed 2", "Number of Stones",
"Percent of Surface Interuptions", "Honing Time ", "Tool Type", "Fault Code", "Serial Number", "Feed Force 1",
"Feed Force 2", "Bore Compensation", "Feed Position at Bore", "Feed Position at End", "Feed Position at Target",
"Wedge Angle", "Part Count", "Setup Name", "Part Material", "Part Hardness", "Stone Type", "Stone Length",
"Stone Width", "Coolant Type", "Cycle Run Status", "Cycle Stone Condition", "Cycle Incoming Condition",
"Machine Model", "Stroke Speed 1", "Stroke Speed 2", "Feed Rate 1", "Feed Rate 2", "Stroke Length", "Bore Length",
"VSRR Calc", "Average Torq Spindle", "Average Torq Stroker", "Average Torque Feed", "Average Feed Force",
"Average Part Torque", "Target Final Diameter", "Surface Finish Ra", "Surface Finish Rz", "Surface Finish Rt",
"1", "2", "3"};
For( i = 1, i <= N Items( Files ), i++,
Try( dt = Open( Files[i], "text" ) );
Wait( 0 );
For( n = 1, n < 56, n++,
Column( dt, n ) << Set Name( y[n] )
);
);Re: 여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.제가 발견한 오류는 다음과 같습니다
1. 기본 디렉터리 경로를 찾을 수 없습니다.그래서 내가 알고 있는 폴더를 가리키도록 수정했는데 파일 선택이 제대로 작동했습니다.
2. ";"가 누락되었습니다. "y =" 문 끝에.문제가 해결되면 코드가 올바르게 구문 분석되었습니다.
3. Column() 함수는 :Name() 함수와 다릅니다.처음에는 ":"가 없습니다.
4. "dt = 현재 데이터 테이블():"도 제거했습니다.Open() 함수의 결과로 배치하면 더 이상 설정이 필요하지 않습니다.
5. Column() 함수에 대한 데이터 테이블 참조도 추가했습니다.이는 Column() 함수를 지정하는 가장 공식적인 방법이며 어느 열을 가리키는지 묻는 질문을 방지합니다.
6. 기다림( 0 ); 단지 안전 예방조치일 뿐입니다.For() 루프가 실행되기 전에 데이터 테이블이 완전히 읽혔는지 확인합니다.당신은 또한 사용하고 싶을 수도 있습니다
dt << run formulas;
또한 데이터 테이블이 실행되었는지 확인합니다.
내 코드 버전은 다음과 같습니다.
Names Default To Here( 1 );
Files = Pick File( "Select File(s)", "C:\Users\<YOUR logonid="">", {"All Files|*"}, 1, 0, "", "multiple" );
y = {"Test", "Run", "Model"};
For( i = 1, i <= N Items( Files ), i++,
Try( dt = Open( Files[i], "text" ) );
wait( 0 );
For( n = 1, n < 56, n++,
Column( dt, n ) << Set Name( y[n] )
);
);</YOUR>
Re: 여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.내 오류는 인식할 수 없는 ";"에 관한 내용을 나타냅니다. 또는 ")". 내가 아는 한 그것은 For 루프 바로 다음의 open 명령과 관련이 있습니다. Open 명령을 주석 처리하면 두 번째 for 루프는 괜찮은 것 같습니다.
55는 내가 이름을 바꾸는 실제 열 수에서 나온 것입니다. 다시 게시할 때 나열된 열 이름의 총 개수를 변경했지만 허용된 총 "n" 개수를 변경하는 것을 잊어버렸습니다.
Re: 여러 파일을 연 다음 모든 테이블의 열 이름을 바꿉니다.로그에 어떤 오류 메시지가 표시됩니까?내 생각 엔 귀하의 첨자가 범위를 벗어났다는 것입니다.변수 'n'을 1에서 55까지 반복하고 변수 'y'를 참조하고 있습니다.'n'이 4가 되자마자 'y' 목록의 값이 부족해집니다.