多文件導入自動命名數據表大家好,
我正在編寫一個腳本,從 .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");
您可以直接使用引用變量。 這樣您就不必擔心表的名稱。