<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一个非常好的工作脚本来打开目录中的所有文件,然后连接所有文件(在 JMP10 中)。
我一直使用这个和这个脚本的变体来收集数据。
现在在 JMP11 中,脚本的连接部分崩溃了。
它在 JMP10 中仍然可以正常工作,所以我又回到使用 JMP10 进行工作了。
这个小组帮助我在今年 4 月获得了第一个剧本。
请帮忙!!
查理·菲尔兹
================================================== ================================================== =
path = "C:\temp\data\";
final_files = {};
final_files = 目录中的文件(路径,递归);
/////////////////打开列表中的第一个文件////////////////////
///////额外的文件将被附加到这个///////////
我=1;
dtjoin = 打开(
路径 ||最终文件
)
<< 设置名称( "Joined1" );
////////////////////////////////////////////////// /////////////////////////
//////////现在打开列表中剩余的文件//////////////
////////////////////////////////////////////////// /////////////////////////
i=2;
For( i = 2, i <= N Items( final_files ), i++,
dt =
打开(
路径 ||最终文件,
);
dtjoin = dtjoin << 连接(
dt,
输出表名("Joined" || Char( i ) ),
);
关闭(dt, nosave);
Close( "Joined" || Char( i - 1 ), nosave );
); //For结束
dtjoin << set name("全部加入");
对于评估顺序不明确的代码,JMP 11 似乎不太宽容。您的代码不会使 JMP 11 崩溃,但会出现错误“在访问或评估 'Send' 时发送期望脚本化对象,dtjoin << Concatenate( dt, output table name("Joined" || Char( i ) ) )”在日志中。
尝试在“打开列表中的第一个文件”部分中更加明确。要确定变量 dtjoin 是指数据表(而不是字符串),请将赋值括在括号内以在重命名表之前强制评估,
(连接=打开(小路||最终文件[一世] )) <<设置名称( “加入1” ) ;
或者将赋值和重命名分成两个语句:
连接=打开(小路||最终文件[一世] ) ;
连接<<设置名称( “加入1” ) ;