各位,
我正在从 cvs 文件导入值。 其中之一是字符串。 但是,JMP 无法读取该值。 第一个图像是 cvs 文件,其中导入了除“FlexSEM1000”之外的所有值。 所以那里没有问题。 然而,第二张图显示了带有 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 查看了这两种类型,但没有成功。
尼尔
谢谢克雷格,
根据简历值“ FlexSEM1000",当我将其更改为“柔性扫描电镜", JMP 能够读取没有问题。
我会根据您的建议进行研究。
尼尔