Files
2025-08-28 16:20:24 +08:00

51 lines
4.3 KiB
HTML

<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="csv">
<p>CSV形式の文字列とそのJavaScriptオブジェクト表現の間で双方向の変換を行います</p>
<h3>入力</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">オブジェクト | 配列 | 文字列</span></dt>
<dd>JavaScriptオブジェクト配列CSV文字列のいずれか</dd>
</dl>
<h3>出力</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">オブジェクト | 配列 | 文字列</span></dt>
<dd>
<ul>
<li>入力が文字列の場合CSVとして解釈しCSVの各行をキー/バリューとしたJavaScriptオブジェクトを生成します各行毎にメッセージを送信するかオブジェクトの配列からなる一つのメッセージを送信するかを選択できます</li>
<li>入力がJavaScriptオブジェクトの場合CSV文字列への変換を行います</li>
<li>入力が基本型の配列の場合1行のCSV文字列へ変換します</li>
<li>入力が配列の配列もしくはオブジェクトの配列の場合複数行のCSV文字列へ変換します</li>
</ul>
</dd>
</dl>
<h3>詳細</h3>
<p>列名にカラム名のリストを指定することができますCSVからオブジェクトに変換を行う際カラム名をプロパティ名として使用します。「列名の代わりにCSVデータの1行目にカラム名を含めることもできます
<p>RFCパーサが選択されている場合列のテンプレートはRFC4180に準拠する必要があります</p>
</p>
<p>CSVへの変換を行う際にはオブジェクトから取り出すべきプロパティとその順序を列名を参照して決めます</p>
<p>列名がない場合本ノードは<code>msg.columns</code>プロパティの単純なコンマ区切りリストを使用して、何をどの順序で抽出するかを決定します。もし存在しない場合、すべてのオブジェクトプロパティを見つけた順序で出力します。</p>
<p>入力が配列の場合には、「列名はカラム名を表す行の出力指定がされた場合だけ用います</p>
<p>数値を変換するオプションがチェックされている場合文字列型の数値が数値として返されますつまり1,"1.5",2の真ん中の値が数値になります</p>
<p>空の文字を含むオプションがチェックされている場合空の文字列が結果に返されますつまり"1","",3の真ん中の値が空の文字列になります</p>
<p>null値を含むオプションがチェックされている場合null値が結果に返されますつまり"1",,3の真ん中の値がnullになります</p>
<p>file-inノードやsplitノードが出力するメッセージの様に<code>parts</code>プロパティが正しく設定されている場合、メッセージ列を入力として受け付けます。</p>
<p>CSVを複数のメッセージに変換して出力する場合出力がメッセージ列となるよう<code>parts</code>プロパティを設定します。</p>
<p>ヘッダを一度だけ送信するよう設定している場合任意の値を持つ<code>msg.reset</code>を渡すと、再度ヘッダを含めて送信できるようになります。</p>
<p><b>:</b> カンマ以外の区切り文字を設定した場合であっても、「列名」はカンマ区切りとしてください。</p>
</script>