如何在 JMP 中仅导入最新文件。大家好,
我目前有一个脚本,它使用启用了日期和名称过滤器的 IMF 函数从目录导入多个文件。 我导入了大约4000个文件,然后将数据表清理成一张保存的数据表。 该目录不断更新新文件,我只想导入新文件,以便将其附加到最后一个日期表中。
- 我想知道是否可以从 JMP 日志中获取导入完成的时间戳,并使用它来更新数据过滤器,使其仅从上次导入的日期开始运行。
- 我尝试从“文件名”列中获取文件的名称,创建一个列表并将其与目录进行比较,但没有成功。
非常感谢您的帮助。
tblRef = 多个文件导入(
<<设置文件夹("C:\Docs\"),
<<设置显示隐藏( 0 ),
<<设置子文件夹( 0 ),
<<设置名称过滤器("*IA-N5*;"),
<<设置名称启用(1),
<<设置大小过滤器( {27136, 110080} ),
<<设置大小启用(0),
<<设置日期过滤器( {3772434440.006, 3786862040} ),
<<设置日期启用(0),
<<设置添加文件名列(1),
<<设置添加文件大小列( 0 ),
<<设置添加文件日期列( 1 ),
<<设置导入模式(“CSVData”),
<<设置字符集(“最佳猜测”),
<<设置堆栈模式(“堆栈相似”),
<<设置 CSV 有标题( 1 ),
<<设置 CSV 允许数字( 1 ),
<<设置 CSV 第一标题行( 1 ),
<<设置 CSV 标题行数( 1 ),
<<设置 CSV 第一数据行( 2 ),
<<设置 CSV EOF 逗号( 1 ),
<<设置 CSV EOF 选项卡( 0 ),
<<设置 CSV EOF 空间( 0 ),
<<设置 CSV EOF 空格( 0 ),
<<设置 CSV EOF 其他( "" ),
<<设置 CSV EOL CRLF(1),
<<设置 CSV EOL CR(1),
<<设置 CSV EOL LF( 1 ),
<<设置 CSV EOL 分号( 0 ),
<<设置 CSV EOL 其他( "" ),
<<设置 CSV 报价( "\!"" ),
<<设置 CSV 转义(""),
<<设置XML方法(“猜测”),
<<设置 XML Guess(“巨大”),
<<设置 XML 设置( XML Settings() ),
<<设置JSON方法(“猜测”),
<<设置 JSON Guess( "huge" ),
<<设置 JSON 设置( JSON Settings() ),
<<设置PDF方法(“猜测”),
<<设置 PDF 设置( PDF 所有表格( 合并( 全部 ) ) ),
<<设置导入回调( Empty() )
) << 导入数据;
tblRef << 设置名称("数据");
自动化和脚本编写数据存取数据混合和清理回复:如何在 JMP 中仅导入最新文件。您可以从 MFI 导入结果表中选择最大文件日期,并在下次导入时使用它来限制文件?
回复:如何在 JMP 中仅导入最新文件。如何选择最大文件日期?
有没有办法从日志中获取时间戳?
回复:如何在 JMP 中仅导入最新文件。您的数据表中应该有文件日期,因为您已启用“设置添加文件日期列”。 然后你可以使用例如列最大()
Col Max(:File Date)
回复:如何在 JMP 中仅导入最新文件。它仍然导入所有内容。 这就是我所做的:
dt=open("C:\Users\");
LastImport = dt << Col Max(:"文件日期");
maxDate = 最后导入[1];
tblRef = 多个文件导入(
<<设置文件夹("C:\Docs"),
<<设置显示隐藏( 0 ),
<<设置子文件夹( 0 ),
<<设置名称过滤器(“*IA-;”),
<<设置名称启用(1),
<<设置大小过滤器( {27136, 110080} ),
<<设置大小启用(0),
<<设置日期过滤器( {maxDate, 3786862040} ),
<<设置日期启用(0),
<<设置添加文件名列(1),
<<设置添加文件大小列( 0 ),
<<设置添加文件日期列( 1 ),
<<设置导入模式(“CSVData”),
<<设置字符集(“最佳猜测”),
<<设置堆栈模式(“堆栈相似”),
<<设置 CSV 有标题( 1 ),
<<设置 CSV 允许数字( 1 ),
<<设置 CSV 第一标题行( 1 ),
<<设置 CSV 标题行数( 1 ),
<<设置 CSV 第一数据行( 2 ),
<<设置 CSV EOF 逗号( 1 ),
<<设置 CSV EOF 选项卡( 0 ),
<<设置 CSV EOF 空间( 0 ),
<<设置 CSV EOF 空格( 0 ),
<<设置 CSV EOF 其他( "" ),
<<设置 CSV EOL CRLF(1),
<<设置 CSV EOL CR(1),
<<设置 CSV EOL LF( 1 ),
<<设置 CSV EOL 分号( 0 ),
<<设置 CSV EOL 其他( "" ),
<<设置 CSV 报价( "\!"" ),
<<设置 CSV 转义(""),
<<设置XML方法(“猜测”),
<<设置 XML Guess(“巨大”),
<<设置 XML 设置( XML Settings() ),
<<设置JSON方法(“猜测”),
<<设置 JSON 猜测(“巨大”),
<<设置 JSON 设置( JSON Settings() ),
<<设置PDF方法(“猜测”),
<<设置 PDF 设置( PDF 所有表格( 合并( 全部 ) ) ),
<<设置导入回调( Empty() )
) << 导入数据;
tblRef << 设置名称("数据");
回复:如何在 JMP 中仅导入最新文件。我认为您必须评估多个文件导入设置中的日期时间值。 下面是一个例子。 了解如何使用 Eval(EvalExpr()) 和 Expr() (使用 Eval Insert、Eval Expr、Parse 和 Substitute 将一个表达式插入另一个表达式)
Names Default To Here(1);
dt = New Table("12345678_Cycle_123456781_Cycle",
Add Rows(6),
Compress File When Saved(1),
New Column("Cycle",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 2, 3, 4, 5, 6])
),
New Column("File Date",
Numeric,
"Continuous",
Format("yyyy-mm-ddThh:mm:ss", 20, 0),
Input Format("yyyy-mm-ddThh:mm:ss", 0),
Set Values(
[3741613139.034, 3741613139.034, 3741613139.034, 3783350373.379, 3783350373.379,
3783350373.379]
)
)
);
max_date = Col Max(Column(dt, "File Date"));
mfi = Eval(EvalExpr(Multiple File Import(
<<SET folder="">),
<<SET show="" hidden=""></SET></SET>回复:如何在 JMP 中仅导入最新文件。有效。 非常感谢你!
回复:如何在 JMP 中仅导入最新文件。您可能需要在最大时间上添加一些时间,以避免多次获取该最大文件日期文件。 根据您获取新文件的频率,添加第二个文件就足够了
max_date = Col Max(Column(dt, "File Date")) + 1;
但很可能 MFI 也理解小数,因此您可以添加 0.01 例如(使用少量文件进行测试可能是个好主意)