多文件导入自动命名数据表大家好,
我正在编写一个脚本,从 .csv 文件文件夹的“多文件导入”开始。 我将定期获取要添加的新 .csv 文件。这些文件有一系列字母和数字(即 chghistory0857-786.csv、chghistory0956-783.csv、chghistory1008-805.csv 等)。 我遇到的问题是当我运行“多文件导入”脚本时,JMP 创建的数据表名称是自动命名基于 .csv 文件名(即 chghistory0956-783_chghistory1008-805)。 当我将更多数据文件放入文件夹时,这个名称会改变并弄乱所有未来的公式。
有没有办法预先建立数据表名,然后把MFI的数据转存进去? JMP16 用户在这里如果这有所作为。
谢谢你,
格雷格
数据表Re: 多文件导入自动命名数据表看一眼@Craige_Hales在上面发帖。 您可能必须使用类似 Close(tblRef[1],No Save) 的方法(或从多文件导入生成的列表中索引表)。 如果这不起作用,我很想知道情况。
谢谢! 大学教师
Re: 多文件导入自动命名数据表@DonMcCormack ,
这种方法在一定程度上起作用。当我这样做时,我不能使用“Close(tblRef, NoSave)”来关闭表格。你可以吗?我的方法是导入后设置引用为“tblRef = Current Data Table();”。这似乎是 JMP 16.2 和 JMP 17.0.0 中的错误。
想法?
马丁
Re: 多文件导入自动命名数据表MFI 总是返回一个{表列表},即使只有一个表。 在@DonMcCormack回答,<
if( nitems(tblRef) != 1, throw("Bummer: MFI did not return exactly one table. The CSV files are not importing as expected.") );
tblRef = tblRef[1];
tblRef << Set Name( ... )
如果你在几年内遇到这个问题,可能只需要一个小时就可以修复,而不是一天来找出它不再工作的原因。
Re: 多文件导入自动命名数据表此外@DonMcCormack您可能需要检查返回的数据类型。 在这种情况下,它是一个列表。
最好直接从之前的命令中使用特定引用,因为静态名称可能会有问题。 见截图,由于数据表“Animals”已经存在,最后导入创建“Animals 2”。
Scripting Index 很高兴看到它是如何工作的,甚至您可以测试一些变体。
Re: 多文件导入自动命名数据表谢谢你! 这非常有效,我还将尝试使用参考变量,但这是一个快速修复。
Re: 多文件导入自动命名数据表你打赌。 多文件导入返回对创建的表的引用。 您可以使用它来更改名称,例如,
tblRef = Multiple File Import(...
);
tblRef << Set Name("My New Name");
您可以直接使用引用变量。 这样您就不必担心表的名称。