ヘッダーとして 2 行を含む CSV をインポートしますこんにちは、
私は比較的大きな csv ファイル (±150MB) を扱っています。ファイルは列ヘッダーとして結合する必要がある 2 つの行で始まります。
各列をループし、列名を現在の名前 + 最初の行の値に設定するスクリプトを作成しました。
問題は動作が非常に遅く、4000 列の名前を変更するのに±10 分ほど待つ必要があることです。
これはファイル サイズに依存するため、小さなファイルで同じ量の列を変更するには数秒かかります。
いくつかの回避策を試しました -
1. 最初の行のみをサブセット化し、すべての列名を変更します (非常に高速です)。 次に、元のテーブルを連結しようと考えましたが、列名が異なるため連結できません。
2. 提案に従って CSV インポート設定を更新しますここ。しかし、ヘッダーとして 2 行を含めるオプションがまだ表示されません。
3. ファイルを xls としてエクスポートし、ヘッダーとして 2 行を付けてインポートします。エクスポート時間は、元の列名の変更よりも長くなります。
私が見逃している別の回避策はありますか。リストに基づいてすべての列名を変更するオプションがあるかもしれません。
助っ人に感謝します。
マスカスタマイゼーションRe: ヘッダーとして 2 行の CSV をインポートするたとえ 1 つのファイルであっても、複数のファイルのインポートを試みる場合があります。 より高速になる可能性があり、複数の行ヘッダーをサポートします。
File->Import Multiple FilesFile->Import Multiple Filesファイル -> 複数のファイルをインポート
Re: ヘッダーとして 2 行の CSV をインポートするこんにちは@ランズ、
JMP でファイルを開き、「デフォルトのプログラムを使用して開く」ボックスの選択を解除すると、 テキストとして開くにはチェックを外してください。」を選択し、ラジオ ボタン「データ (プレビューを使用)」を選択します。JMP を開くウィンドウで必ずすべてのファイル (*.*) を選択してください。

次に、データの開始行など、重要な区切り文字やその他の項目を選択できるため、ヘッダーとして 2 行ある場合は 1 行をスキップして、データの開始行を 3 行目などに設定します。

次に、データ テーブルで「ソース」スクリプトを開き、必要に応じてインポート設定を編集し、このスクリプトを JSL プログラムで使用できます。

あるいは、XLSX ファイルとして再保存できる場合は、Open() コマンドを使用して、どのタブを開くか、どの列で開始/終了するか、どの行で開始/終了するかを定義できます。ヘッダーとして複数の行を使用します。 これで、列の名前を変更する必要があるという問題が解決されるはずです。

最後に言及するオプションは、列名がわかっていて、それらが変更されない場合、スクリプト内にリスト ColNames ={"...", "...",.. を含めることができるということです。 .} リスト内のすべての正しい名前を引用符で囲み、カンマで区切ります。 次に、CSV ファイルをロードした後、For ループを実行して、ColNames のエントリに従って各列の名前を変更できます。 例えば:
dt=Current data table();//or whatever your data table name is.
icols=.;//variable to count through the columns
For(icols=1, icols<=N Columns(dt), icols++,
Column(dt, icols) <<SET name=""></SET>
これらのいずれかが役立つことを願っています!
幸運を、
DS