使用 JSL 保存空表我从数据库中打开几个表,然后将它们保存到 CSV 文件中。 只要表有数据,脚本就可以正常工作,但是空表(我也想保存以显示它们是空的)会给我这个错误:
数据表为空。
无法保存文件。
无法保存文件。{2}
我可以手动将表格保存为 JMP 格式,但不能导出为文本。 有任何想法吗?回复:使用 JSL 保存空表在论坛中进一步阅读后,我意识到 Is Empty() 函数并没有说明表中是否有数据...... 我看到一个评论说最好使用 N Row (dt) 来做到这一点:
If( N Row( dt ) == 0,
// then
Print( "Data table is empty" );
// else
Print( "Data table is not empty" );
);
回复:使用 JSL 保存空表@中伟
我最近偶然发现了这个错误消息,感到非常惊讶。
然后我意识到我做了一张新桌子,里面只有默认“第 1 列”,没有行。
我希望将表保存为空表,但就我而言,解决方案就像在创建表时命名唯一的列一样简单。
原始报告显然正在执行 NewTable() 函数之外的其他操作,因此命名列可能会更困难。
sentinelDt = New Table( "sentinel", "private", New Column( "a") ); // needs a col name to save it with no rows!
sentinelDt << save( root || sentinelName );
回复:使用 JSL 保存空表如果使用“Is Empty()”函数,则可以使用 if 语句仅在表不为空时保存数据:
例子:
dt = Open( "Path\DataTable" );
If( Is Empty( dt ),
// Then Do this if the table is not empty:
dt << Save( "Path\DataTable" )
,
// Else Do nothing
Print( "the table is empty and will not be saved" )
);