On this page |
概要
このノードは、入力のCSVファイル内の行毎にワークアイテムを生成します(といっても、 Limit Rows パラメータで行数を制限することができます)。 これは、指定した特定の列のデータを抽出してワークアイテムのアトリビュートにコピーしたり、すべての列を自動的にコピーすることができます。
これは、ユーザが扱いたいワークのリストを指定することができるので便利です。
これと反対のノード(ワークアイテムのアトリビュートをCSVファイルに書き出す)がCSV Outputノードです。
How to
デフォルトでは、このノードに入力ファイルが存在すれば、入力の行毎にワークアイテムが生成されます。 しかし、このノードは何もデータを抽出しません 。 どのようにCSVデータを準備すべきか決定し、そこから抽出したい列を指定する必要があります。
-
CSVデータの取得先を指定します 。以下のどれかで指定します:
-
入力のワークアイテムのResult DataにCSVファイルが存在する場合は、 Upstream Output Files を選択してください。
例えば、
File Patternノードを使ってファイルのリストを取得した場合、そのFile Patternノードの後に
Wait for Allノードを追加し、そのWait for Allノードをこのノードに接続してください。 File Patternノードで
*.csv
ファイルにのみ一致するようにさせた場合、そのFile PatternノードのResult Data Tagパラメータをfile/csv
に設定します。 最後に、CSV Inputノードの Upstream Output Files を選択します。 -
静的に 1個の CSVファイルを読み込みたい場合、 Custom File Path を選択して、その静的なCSVファイルのパスを File Path に設定します。
-
-
抽出する内容を選択します 。以下のどれかを選択します:
-
それぞれの列からデータを抽出したい場合は、 Columns to Extract マルチパラメータを使って、抽出したい列と使用したいアトリビュート名を指定します。CSVファイルにヘッダ行が含まれている場合は、 Has Header Row を有効にすることで、その行をデータとして使用せずに 無視 することができます。
-
すべての列を抽出したい場合は、 Extract All を有効にします。CSVファイルにヘッダ行が含まれている場合は、 Has Header Row を有効にすることで、そのヘッダ行を 使用 してアトリビュートの名前を付けます。CSVファイルにヘッダ行が含まれていない場合は、このノードは
column_0
,column_1
といったようにアトリビュートの名前を付けます。
Extract All を使用すると、すべての値が 文字列 として抽出されます。CSVファイル内の数値を適切なタイプで抽出したい場合は、手動で列を抽出してください。
-
-
ノードでワークアイテムを生成したら、そのアトリビュートをチェックしてみてください。
メモ
-
入力ファイルが複数存在する場合(上流のワークアイテムのResult Dataに複数のパスが存在する場合)、このノードは、各ファイルの行毎に別々のワークアイテムを生成します(といっても、 Limit Rows パラメータで行数を制限することができます)。
-
レンダーファーム上でネットワークをクックできるようにするには、必ず入力のCSVファイルを共有ネットワークファイルシステムに配置してください。
TOP Attributes
|
integer |
ワークアイテムの生成元であるCSVファイル内の行のインデックス。これは0から始まるので、ヘッダ行が存在すればその行を含めないでください。 |
|
string array |
CSV行から抽出されたアトリビュートの名前の配列。
このアトリビュートはオプションで生成され、 |
パラメータ
Input
CSV Source
CSVファイルの読み込み先。
Custom File Path
読み込みたい1個のCSVファイルのパスを指定します(このフィールドはファイルパターンには対応していません)。
Upstream Output Files
入力ワークアイテムのoutput
ファイルパスを、読み込むファイル(s)として使用します。
ファイルタグ(通常ではfile/csv
)を指定すると、このノードはそのタグが付いたファイルのみを使用するようになります。
Custom String
CSV パラメータの文字列データを使用します。 ここには、CSVをコピーアンドペーストしたり、エクスプレッションを使って上流アトリビュートからデータを取得することができます。
File Path
Custom File Path を選択すると、読み込みたい1個のCSVファイルのパスを指定することができます(このフィールドはファイルパターンには対応していません)。
File Tag
CSV Source が"Upstream Output Files"の時、このファイルタグが付いている上流ワークアイテムのoutput
アトリビュートのファイルからCSVデータを読み込みます。
CSV
解析するCSVテキスト。 CSV Source が"Custom String"の時に利用可能です。
Has Header Row
CSVファイル(s)にヘッダ行(コラム名を含む)が含まれている場合は、これを有効にします。 個々の行を抽出する際には、このノードはそのヘッダ行を無視するようになります(これを無効にすると、そのヘッダ行をデータとして受け取ります)。 Extract All を選択すると、このノードは、そのヘッダ行を使ってアトリビュートに名前を付けます。
Limit Rows
このノードが生成するワークアイテムの数を意図的に制限します。 このノードは通常通りに入力の行を順々に読み込んで行き、ここで指定されたワークアイテムの数に到達したら読み込みを停止します。 この制限があるおかげで、暴走プロセスが不意に巨大なCSVファイルを生成してしまっても心配不要であり、人がCSVファイルを作成した場合でも一定数を越えないように行数を抑える規則を守りたい場合で役立ちます。 しかし、この設定によって、このノードは何もメッセージを出すことなく正しいデータを破棄してしまうことを忘れないでください。
Work Item Index
上流のワークアイテムからワークアイテムを生成する時にそのワークアイテムインデックスの設定方法を選択します。
Row Index
CSV行インデックスをワークアイテムインデックスとして使用します。
Upstream Index
上流のワークアイテムのインデックスを使用します。
Column Delimiter
これを有効にすると、明示的にコラム区切り文字を設定することができます。 これが無効になっていると、このノードは、ファイルの頭の数行から区切り文字を推測します。
Add Columns Attribute
これを有効にして文字列配列アトリビュートの名前を指定すると、CSVから抽出された列の名前をそのアトリビュートに格納することができます。
その列の名前の順番は、CSVファイルの列と同じになります。このアトリビュートはCSV Outputノードで使用することができます。
Extraction
列の抽出を指定する方法を選択します。
By Column Index
Columns to Extract で、抽出したい列を0ベースのインデックスで指定します。
All
これを有効にすると、このノードは、すべての列をワークアイテムのアトリビュートにコピーします。
生成されるアトリビュートは常に文字列アトリビュートになります。
適切に数値データのタイプを指定したいのであれば、これを無効にして、"手動"で列を抽出してください。
Has Header Row を有効にすると、このノードは、ヘッダ行を使ってアトリビュートの名前を付けます。
Has Header Row を無効にすると、このノードは、column_0
, column_1
といったようにアトリビュートの名前を付けます。
By Column Name
Columns to Extract で、抽出したい列のヘッダ名を指定します。
By Attribute
Input Columns Attribute で、読み込みたい列名または列インデックスのアトリビュートの名前を指定します。
Input Columns Attribute
Extraction を By Attribute に設定したら、読み込みたい列名または列インデックスのアトリビュートの名前を指定します。 このアトリビュートには、文字列配列または整数配列を指定することができます。 列名は必ずCSVファイルのヘッダに合わせ、インデックスは左から右の0ベースの番号を指定してください。
Columns to Extract
Extraction を By Column Index または By Column Name に設定したら、このマルチパラメータを使って、入力の列名または列インデックスとアトリビュート名/タイプとのマッピングをセットアップすることができます。
CSV Column Index
データの読み込み元の列番号。1番目の列番号が0
、2番目の列番号が1
といった感じです。
CSV Column Name
データを読み込むCSVファイルの列ヘッダ名。
Attribute Name
値の割当先となるアトリビュートの名前。
Value Index
アトリビュートには複数値を格納することができます(ベクトルやリストを収納することができます)。 これを設定することで、アトリビュート値のリストに値を挿入する位置を制御することができます。
Type
抽出する値のデータタイプ(String, Integer, Float)。
Processor
Work Item Generation
このノードが静的または動的なワークアイテムのどちらを生成するかどうか。 このノードのワークアイテムが静的に計算可能かどうか、もしくは、動的に生成させる必要があるかどうか分からないのであれば、通常では、これを"Automatic"のままに設定してください。
Dynamic
このノードが常に動的なワークアイテムを生成します。つまり、上流のワークアイテムが判明するまで待機し、その上流のワークアイテムから新しいワークアイテムを生成します。
Static
このノードが常に静的なワークアイテムを生成します。つまり、ネットワークを実行する前にパラメータ(と上流の静的なワークアイテム)に基づいて必要だと思われるだけの数のワークアイテムを生成します。
Automatic
入力が静的(静的なプロセッサ、静的な入力のみを使ったパーティショナー、マッパー)な場合、このノードは静的なワークアイテムを生成し、そうでない場合、動的なワークアイテムを生成します。
Examples
example_top_csvinput Example for CSV Input TOP node
このサンプルでは、CSVファイルからデータを読み込む方法について説明しています。 CSV Inputノードは、CSVファイルを読み込んで、行毎に1個のワークアイテムを生成します。
See also |