여러분,
cvs 파일에서 값을 가져오고 있습니다. 그 중 하나가 문자열입니다. 그러나 JMP는 값을 읽을 수 없습니다. 첫 번째 이미지는 "FlexSEM1000"을 제외한 모든 값을 가져오는 cvs 파일입니다. 그래서 거기에는 문제가 없습니다. 그러나 두 번째 이미지는 F?????가 포함된 JMP 테이블을 보여줍니다. 값. 이 문제를 어떻게 해결합니까? 관련 코드가 첨부되어 있습니다.
닐
Join_files = Expr(
For( i = 1, i <= N Items( path ), i+=2,
/*area, %area, and pore pixel count*/
jointable1 = Open( path[i] );
//jointable1 << Get Name;
samplename = Substr( jointable1 << Get Name, 1, 18 ); //sample replicate name //
samplename2 = Word(1,samplename, "_"); // Only sample name, no replicate suffix (i.e. a1, a2...)
jointable1 << New Column( "Sample",
Character,
Nominal,
Set Each Value( samplename ) // setting each row in column 1 to samp rep name //
);
/*diameter and pore pixel count*/
jointable2 = Open( path[i + 1] );
dt = Data Table( jointable1 ) << Join(
With( Data Table( jointable2 ) ),
Select( :Sample, :Area, :Name( "%Area" ),:scale, :thick, :pixelrad, :mag, :system),
SelectWith( :pixD1, :count1),
Cartesian Join
);
Close( jointable1, no save );
Close( jointable2, no save );
Columns();
Graphs();
Graphs2();
Graphs3();
dt << Set Name(samplename);
po = dt << get name;
dt << Save(SD1 || po);
);
);
Columns = Eval Expr(
//dt << New Column( "Condition", Character, Nominal, Set Each Value( "1:1" ) );
dt:Name( "%Area" ) << Set Name( "Image A pore area (%)", Numeric, Continuous );
dt:Area << Set Name( "Total Image pixel count (pore_part)", Numeric, Continuous );
dt:scale << Set Name("pix/mm scale", Numeric, Continuous);
dt:pixD1 << Set Name( "Pore Diameter (pixel)", Numeric, Continuous );
dt:count1 << Set Name( "Pore Pixel Count", Numeric, Continuous );
dt:thick << Set Name("d - thickness (m)", Numeric, Continuous);
dt:pixelrad << Set Name("LT Radius", Numeric, Continuous);
dt:mag << Set Name("Mag", Numeric, Continuous);
dt:system << Set Name("Image Mode", Character, Nominal);
dt:Sample << Set Display Width( 150 );

크레이지,
CSV를 생성한 소스 코드로 돌아가서 문제를 발견했습니다. 테이블의 모든 항목은 관심 있는 마지막 열 항목을 제외하고 UTF-8이었습니다. 코드를 수정했고 이제 모든 것이 작동합니다. JMP는 UTF-8과 UTF-16을 모두 보고 있었고 이미 UTF-8을 보고 있었기 때문에 마지막 열을 인식하지 못한 것 같습니다.
귀중한 시간을 내주셔서 감사드립니다.
닐
크레이지,
빠른 업데이트.
csv 파일을 수동으로 열고 "csv UTF-8"로 저장하면 JMP가 "FlexSEM1000"을 인식한다는 것을 알았습니다. 그러나 이는 제거하고 싶은 수동 단계입니다.
닐
크레이지,
계속 연결을 끊겠습니다. 누군가가 작동하도록 할 수 있는 경우를 대비해 csv 문서를 첨부하려고 했지만 사이트에서 업로드를 허용하지 않았습니다.
그동안 파일을 생성한 프로그램으로 이동하여 파일 형식이 어떻게 지정되는지 확인하겠습니다. 원래 시스템 ID 데이터는 UTF16인 시스템 텍스트 파일(SEM의 이미지와 함께 제공)에서 읽혀졌습니다. 그러나 UTF8로 변경하고 csv 파일에 저장하는 스크립트가 작성되었습니다.
JMP에서 두 가지 유형을 모두 살펴보았지만 성공하지 못했습니다.
닐
고마워요 크레이지,
cvs 값에 따라 " FlexSEM1000", 이것을 "로 바꾸면 FlexSEM ", JMP는 읽을 수 있습니다. 문제 없이 .
나는 당신의 제안을 사용하여 주위를 둘러볼 것입니다.
닐