使IMF函数更加高效。我有数千个类似附件示例的文件 (.CSV)。时间信息位于原始文件 102 中,我的测量数据从原始文件 242 开始。
目前我正在导入两次文件,一次用于时间信息,一次用于测试数据。之后,我使用更新函数将时间信息导入测试数据表。
这种逻辑适用于小组文件,但对于大量文件来说效率不高,因为时间信息的 IMF 会提取原始 102 之后的所有数据。
有什么方法可以设置 IMF 函数中的最后一行数据来导入时间信息吗?这样我就不会导入每个文件多余的 141 行数据了。
基础数据分析与建模回复:使 IMF 函数更加高效。据我所知,您无法通过多文件导入来控制这种情况。您是否尝试过导入所有数据,然后在 JMP 中清理生成的表?或者,如果您只是想从 .csv 文件中导出几行,可以使用 JSL 和“加载文本文件”功能。
回复:使 IMF 函数更加高效。你好,Jarmo,
我使用了 JSL,下面是我编写的脚本。它运行良好,但现在我的数据集越来越大,测试也越来越多,这种逻辑效率不高(尤其是导入时间表时,我不知道如何只导入一行)。
Names Default To Here( 1 );
dir=Pick Directory( "Select Data Directory");
// Import multiple files
Time=Multiple File Import(
<
<SET folder="">
= 1, i--, If( (Col N Missing( Column( i ) ) / N Row()) == 1, Data Table( dt1 ) << delete columns( i ) ) ); For( i = N Col( dt2 ), i >= 1, i--, If( (Col N Missing( Column( i ) ) / N Row()) == 1, Data Table( dt2 ) << delete columns( i ) ) ); Data Table( dt1 ) :File Name<< Set Display Width( 300 ); Data Table( "Time" ):Column 3 << Set Name( "Test Time" ); // Update data table Data Table( "Test Data" ) << Update( With( Data Table( "Time" ) ), Match Columns( :File Name = :File Name ), Add Columns from Update Table( :Test Time ) ); // Close Data Table: Time Close( Data Table( "Time" ), NoSave );
</SET>
回复:使 IMF 函数更加高效。你有多少个文件?导入一次就够了,之后你只需在 JMP 中清理相应的数据即可。
回复:使 IMF 函数更加高效。目前,我大约有 20,000 个文件,并且每天新增 1,000 到 1,500 个文件。该脚本运行大约需要 7 分 30 秒。由于时间表中包含不必要的行,因此脚本最终导入了 280 万行数据,之后才进行清理。
回复:使 IMF 函数更加高效。您只是导入新文件还是导入文件数量不断增加的整个文件夹?