<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ディレクトリ内のすべてのファイルを開いてから、すべてのファイルを連結する(JMP10の)、完全に有効なスクリプトを作成しました。
私はデータ収集のためにいつもこれとこのスクリプトの変種を使います。
今JMP11では、スクリプトの連結部分でクラッシュしています。
JMP10でもまだうまく機能しているので、私は自分の仕事にJMP10を使用するようになりました。
このグループは私が今年の4月に最初のスクリプトを復活させるのを助けました。
助けてください!!
チャーリーフィールズ
=================================================== =================================================== =
path = "C:\ temp \ data \";
final_files = {};
final_files =ディレクトリ内のファイル(パス、再帰)。
///////////////////リストの最初のファイルを開く///////////////////////
/////////追加のファイルがこのファイルに追加されます///////////
i = 1。
dtjoin = Open(
パス|| final_files
)
<<セット名( "Joined1");
//////////////////////////////////////////////////// //////////////////////////// //////////////////////////
//////////リスト内の残りのファイルを開く////////////// //////////////
//////////////////////////////////////////////////// //////////////////////////// //////////////////////////
i = 2。
(i = 2、i <= N Items(final_files)、i ++、の場合
dt =
開いた(
パス|| final_files 、
;
dtjoin = dtjoin <<連結(
dt、
出力テーブル名( "Joined" || Char(i))、
;
閉じる(dt、nosave);
Close( "Joined" || Char(i - 1)、nosave);
; // forの終わり
dtjoin <<セット名( "All Joined");
感謝万円!
私はこれを使いました:
dtjoin = 開いた ( パス || final_files [ 私 ] ) ;
dtjoin << セット名 ( "参加1" ) ;
あなたが示唆したようにそれはとてもうまくいった。
今私は私の他のコードでこの変更を実装する必要があります。
また今、私はJMP11を使い続けることができます。
再度、感謝します!!
チャーリー
評価の順序についてあいまいなコードになると、JMP 11はそれほど寛容ではないようです。あなたのコードは私にとってJMP 11をクラッシュさせませんが、「Sendはアクセスの評価またはスクリプトのオブジェクトへの評価を期待しています、dtjoin << Concatenate(dt、出力テーブル名( "Joined" || Char(i)))」ログに。
「リスト内の最初のファイルを開く」のセクションで、より明確になるようにしてください。変数dtjoinが(文字列ではなく)データテーブルを参照していることを確認するには、テーブルの名前を変更する前に評価を強制するために、割り当てを括弧で囲みます。
( dtjoin = 開いた ( パス || final_files [ 私 ] )) << セット名 ( "参加1" ) ;
代入と名前の変更を2つのステートメントに分けます。
dtjoin = 開いた ( パス || final_files [ 私 ] ) ;
dtjoin << セット名 ( "参加1" ) ;