組み合わせる必要のあるテキストファイルが約500個あります。 それらのすべてにヘッダーはありません。 以下のように、値はコンマで区切られます。 (形式はすべてのファイルで同じです)
122,3410732003、、ABC2、P
122,3410732003、、ABC2I、13.6
122,3410732020、、ABC2、P
122,3410732020、、ABC2I、4.13
そのため、csv設定を使用してJMPで複数ファイルのインポートオプションを使用しようとすると、500個のデータテーブルが生成されるという警告が表示されます。
また、テキスト(行ごとに1行)を使用してファイルをインポートしようとすると、すべてのデータが1つの列に表示されます。
残念ながら、私は自分のスクリプトを書くのに十分なスクリプトについて知りません。 (私はこのフォーラムで見つけた添付のスクリプトを試しましたが、それを機能させることができませんでした、私は明らかに何か間違ったことをしています!)
これに関するすべての助けは大歓迎です!
このようなものが機能するはずです:
Names Default To Here(1);
path = "C:\WIP\All text files\"; //note ending \
fileList = Files In Directory(path);
//use first table as "base datatable" to concatenate to
dt = Open(
path || fileList[1],
columns(
New Column("c000001", Numeric, "Continuous", Format("Best", 12)),
New Column("c000002", Numeric, "Continuous", Format("Best", 12)),
New Column("c000003", Numeric, "Continuous", Format("Best", 12)),
New Column("c000004", Character, "Nominal"),
New Column("c000005", Character, "Nominal")
),
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(0),
Column Names Start(1),
Data Starts(1),
Lines To Read("All"),
Year Rule("20xx")
)
);
//start from 2 because we already have file 1 as dt
For(i = 2, i <= N items(fileList), i++,
dt_temp = Open(
path || fileList[i],
columns(
New Column("c000001", Numeric, "Continuous", Format("Best", 12)),
New Column("c000002", Numeric, "Continuous", Format("Best", 12)),
New Column("c000003", Numeric, "Continuous", Format("Best", 12)),
New Column("c000004", Character, "Nominal"),
New Column("c000005", Character, "Nominal")
),
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(0)),
Strip Quotes(1),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(0),
Column Names Start(1),
Data Starts(1),
Lines To Read("All"),
Year Rule("20xx")
)
);
dt << Concatenate(dt_temp, Append to first table);
Close(dt_temp, no save);
);