部分インポートと再インポート
PartialImport-ReImport
部分インポート
たとえば、データの一部だけが必要、あるいはファイルサイズが大きくインポートが遅い、などでデータファイルの一部をインポート必要があるとき、ファイルの部分インポートが可能です。部分インポートがサポートされるのは一部のファイル形式です。ここで説明している以外のファイル形式では、部分インポートはサポートされていません。
ファイルからインポートにおける部分インポートの設定
XファンクションルーチンであるASCII、バイナリ(インポートウィザード)、CSV、MS Excelのインポートダイアログの部分インポートの設定は以下のようなものです。
-
開始と終了 |
インポートを開始及び終了する列番号を指定します。 |
読み込みとスキップ |
読み込みに値lを指定しスキップに値kを入力すると、 (l+k)列毎にl 列がインポートされ、k 列が読み飛ばされます。 |
カスタム |
次のようにしてインポート文字列を作成します。
-
- スペース( ) = "and"
- コロン(:)は開始と終了を分離
- バーティカルバー(|) = n 列/行読み込む
- ダッシュ(-) = スキップ
- チルダ(~) = 除外
- サンプル
- 1 3 7 は、列/行1、3、7をインポート
- 1:100 ~50:60 は、1から100列/行のうち50から60を除外してインポート
- 1:200|3-2 は、1から200列/行を3読み込み、2スキップしてインポート
- 1:1000 ~200:300 250:260は、1から1000列/行のうち250から260以外の200から300をスキップしてインポート
- 1:100|3-7 5:100|2-8 は、1から100列/行のうち3読み込み、7スキップかつ、5から100列/行を2読み込み8スキップしてインポート。「and」(スペース)の組み合わせは、10列/行ごとに3読み込み、1スキップ、2読み込み、4スキップの繰り返しパターンを生成します。
|
NetCDFコネクタの部分インポート
NetCDFコネクタでは、独自のGUIコントロールで部分インポートを指定できます。スクリプトを作成している場合は、GUIコントロールを使用して接続文字列を作成することで時間を節約できます(以下を参照)。
- GUIでデータをインポートするには、データ:ファイルに接続:NetCDFを選択します。データコネクタブラウザが開きます。
- つぎに、多次元変数を選択し、インポートするデータの選択をクリックして、変数を下部パネルに追加します。
- インポートオプションボタンをクリックし、開始と終了、時間軸のスキップまたは平均化のいずれかで部分インポートを指定し、OKをクリックしてオプションを閉じます。
- 開始 & 終了: インポートする日時範囲です。
- 時間軸のスキップ: m レコードを読み取り、n レコードをスキップして繰り返します。たとえば、データが月次の場合、読み取り= 1 およびスキップ= 11 は、日時範囲全体で「ひと月のデータを読み取り11か月分をスキップ」のパターンを繰り返します。
- 平均化: 間隔に基づいて平均を計算し、年ごとのサンプリングまたは連続のいずれかを実行します。たとえば、年ごとおよび間隔 = mの場合、日時範囲の各月の総平均を計算します。
インポートオプションを設定してダイアログを閉じると、下部パネルの変数の横に接続文字列が表示されることに注意してください。この文字列は、ダブルクリックすることで編集可能です(コピーできるのでスクリプトを作成している場合は便利です)。
-
接続文字列の構文は複雑になる可能性がありますが、以下の基本的な形式に従います。
NetCDF/variable[z][y][x]
ここで、variableはインポートする変数であり、z、y、xは、z、y、およびxディメンションデータの部分的なインポートを含む処理を指定します。
z次元データの部分インポートの指定は、上記の基本的なカスタム構文から始まります。しかし、GUIを使用してインポートオプションを設定し、ブラウザダイアログで接続文字列を読み取ったりコピーすることにより、最もよく理解できるNetCDFコネクタ固有の修飾子がいくつかあることに注意してください。
GUIを使用する場合は、接続文字列は重要ではありません。スクリプトを作成している場合は、GUIから接続文字列を取得したら、その使用例についてLabTalk wks.dcオブジェクトのドキュメントを参照してください。
NetCDFの部分インポート制御の原理
部分インポートを高レベルに制御する必要があるGUIユーザまたはスクリプターの場合、データコネクタブラウザで接続文字列をダブルクリックすると、接続文字列を手動で編集できます。構文については、上記のカスタムテーブルを参照してください。
Example 1
たとえば、1948年1月から2018年6月までの月次測定値のデータセットがあるとします。1958年では、計測は信頼できなかったため、これらの12個の読み取り値のみ除外する必要がある場合を考えます。接続文字列は、121月から132月までの12か月を除外する必要があります。
precip[1:0~121:132][y#][x]
precip[1:846~121:132][y#][x] // FromおよびToの代替構文
Example 2
最初の120の行列について、行列1からインポートを開始し、11をスキップし、1つの行列をインポートし、また11をスキップする、という設定をします。行列121からは、2つインポートし、10個の行列をスキップ、を繰り返して241まで到達します。行列241から最後の行列(「0」で表現)までは、3つの行列をインポートして9個スキップ、を繰り返します。この例は簡単なものですが、必要に応じて、より複雑な接続文字列を作成できます。
precip[1:120|1-11 121:240|2-10 241:0|3-9][y#][x]
TDMSコネクタの部分インポート
TDMSコネクタを使用してTDMSファイルの部分インポートを指定する場合、上記で説明した、NetCDFファイルでの内容と同様の操作で行えます。
- ワークブックをアクティブにして、データ:ファイルに接続:TDMSを選択します。
- ファイルを参照して、開くをクリックします。
- データコネクタブラウザで、ノードをクリックして、ダイアログ下部のインポートするデータを選択をクリックします。
- 部分インポートを実行するには、上の表の接続文字列をダブルクリックしてカスタムの項目にある構文を使って範囲を指定することで文字列を修正します。文字列の最後で部分範囲を指定する必要があることに注意してください(例:TDMS/Dynamic Data Type (time domain, absolute)/Square with Uniform Noise[10:90])。
再インポート
再インポートは、その名前の通り、以前インポートしたファイルを再度インポートするものです。 これはインポートファイルが更新されたとき(オプションを変更せずに直接インポートするとき)、または異なるインポートオプションを使用するときに、この機能を使用することをお勧めします。 データメニューにあるメニューコマンドから実行できます。 再インポートの機能は、ASCIIファイルとサードパーティ製ファイルの一部で使用できます。
データコネクタを使用してインポートしている場合は、必要に応じてデータをリフレッシュできます。インポート時、またはセッション中のいつでも、コネクタアイコンをクリックしてインポートを選択するか、プロジェクト内のグラフウィンドウ上にあるダウンロードアイコンをクリックします。詳細は、FAQ-1080 データコネクタを使用してデータをインポートしましたが、プロジェクトを再度開くと、データが失われますを参照してください。
|