如何在 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 猜測(“巨大”),
<<設定 JSON 設定( JSON Settings() ),
<<設定PDF方法(“猜測”),
<<設定 PDF 設定( PDF 所有表格( 合併( 全部 ) ) ),
<<設定導入回呼( Empty() )
) << 導入資料;
tblRef << 設定名稱("資料");
自動化和腳本編寫資料存取資料混合與清理回覆:如何在 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 例如(使用少量文件進行測試可能是個好主意)