複数のファイルをインポートする親愛なるみんな、
私の問題は非常に基本的なものであるため、おそらく以前に提起されたことがありますが、正確な問題の解決策を見つけることができませんでした。
同じ構造の複数のファイルをインポートし、同じ方法で操作してから、それらのサブセットを接着したいと思います。 インポートとデータ操作の部分は、次の一般的な方法で行いました。
dt = Open(
"PATH/File1.xlsx",
Worksheets( "Table1" ),
XXX
);
// New operation e.g. New column: Column 2
dt << New Column( "Column 2",
Numeric,
"Continuous",
Format( "Best", 12 )
);<BR /><BR />File1 = dt;<BR />File1 << Set Name("File1");<BR />さらにファイルをインポートするには、同じコードをスクリプトにコピーし、「File1」を「File2」、「File3」などに交換するだけです。 動作しますが、インポートするファイルがたくさんあるため、スクリプトの長さがかなり長くなります。
IMFオプションも試しました。 「複数のテーブルを開く」を選択したとき(スタックしたくない)、データテーブルはすでに特定の名前にリンクされており、上記の一般的なコードで操作することができませんでした。
よりエレガントなソリューションのアイデアはありますか?
どうもありがとう!
データ表Re:複数のファイルをインポートするあなたは使用してみることができますfunction()(jmp.com)またはexpr()。 function()を使用するいくつかのオプションは次のとおりです。
Names Default To Here(1);
open_and_modify = function({file_path}, {Default Local},
dt = Open(file_path, Worksheets("Table1"), XXX);
// New operation e.g. New column: Column 2
dt << New Column("Column 2", Numeric, "Continuous", Format("Best", 12));
dt << Set Name("File1");
return(dt);
);
dt1 = open_and_modify("PATH/File1.xlsx");
dt2 = open_and_modify("PATH/File2.xlsx");
dt3 = open_and_modify("PATH/File3.xlsx");
//or have a list of paths
file_paths = {"PATH/File1.xlsx", "PATH/File2.xlsx", "PATH/File3.xlsx"};
//create first concatenate before
table_list = {};
For Each({new_file_path}, files,
Insert Into(table_list, open_and_modify(new_file_path));
);