CSV
CSVストリームは、CSV形式を扱うためのストリームです。
ストリームプロパティ
| プロパティ名 |
値 |
| 読込み開始行 |
データのうちレコードとして処理する先頭行番号を指定します。例えば、データの1行目が見出しのCSV形式の場合、2を指定すると見出し行を飛ばして2行目からをストリームとして出力します。初期値は1です。 |
| フィールド数 |
レコードのフィールド数を指定します。指定すると、フィールド定義で指定した数分のフィールドが用意されます。フィールド名には「field数字」のようにfieldに1からの数字を付加した名前で定義されます。初期値は3です。 |
| 区切り文字 |
フィールドの区切り文字を指定します。以下の区切り文字が指定できます。初期値は「,」(カンマ)です。
| <tab> |
タブ[0x09] |
| , |
カンマ |
| <space> |
スペース[0x20] |
| ; |
セミコロン |
| | |
縦棒 |
| <none> |
なし。1行が1フィールドとして扱われます。 |
|
| 囲み文字 |
ストリームのフィールド文字列を囲む文字を指定します。 以下の文字が指定できます。初期値は「"」(ダブルクォート)です。
※囲み文字を指定しない場合、フィールド文字列の両端の半角空白、タブは無視されます。
※囲み文字を指定し、かつフィールド文字列内に囲み文字と同じ文字を使用したい場合、「\"」のように\記号と文字を記述するか、または「""」のように文字を二重に記述するかでエスケープしてください。
※外部からストリームを読み込む場合は必ずしも各フィールドがこの文字で囲まれている必要はありません。
| (none) |
囲み文字なし |
| " |
ダブルクォート |
| ' |
シングルクォート |
|
| 囲み処理の対象 |
フィールド文字列を囲む場合の対象フィールドを指定します。以下の対象が指定できます。
| すべて |
すべてのフィールドが囲み処理の対象になります。 |
| String型のみ |
String型のフィールドのみが囲み処理の対象になります。 |
|
| 空データの囲み処理 |
フィールド値が空の場合の囲み処理の方法を指定します。
| する |
空データでも囲み処理を行います。 |
| しない |
空データでは囲み処理を行いません。 |
|
| 囲み文字のエスケープ |
文字列中に囲み文字が現れた場合のエスケープ方法を指定します。
| バックスラッシュ |
「\」でエスケープします。 |
| 二重化 |
囲み文字を二重化することでエスケープします。 |
|
| 空白を削除 |
囲み文字で囲まれていない文字列を読み込む時、文字列の前後の空白を削除するどうかを指定します。ファイルからの読み込み時のみ有効です。
文字列が囲み文字によって囲まれている場合はここでの指定に関わらず空白は削除されません。
| はい |
読込み時に文字列の前後の空白を削除します。 |
| いいえ |
読込み時に文字列の前後の空白を削除しません。 |
|
| 出力エンコーディング |
ストリームのエンコーディングを指定します。
| utf-8 |
unicode utf-8 |
| shift_jis |
シフトJIS |
| euc-jp |
EUC-JP |
| iso-2022-jp |
ISO-2022-JP |
| utf-16 |
unicode utf-16 |
| Windows-31J |
Windows-31J |
|
| 改行コード |
レコードの区切りとなる改行コードを指定します。
※外部からストリームを読み込む場合は、必ずしも改行コードが指定した改行コードである必要はありません。
| 変換しない |
プラットフォーム標準の改行コードに変換します。 |
| CR+LF |
CR+LFに変換します。 |
| CR |
CRに変換します。 |
| LF |
LFに変換します。 |
|
| 先頭行のフィールド名を出力 |
出力ストリームの先頭行にフィールド名を出力するかどうかを指定します。
| いいえ |
先頭行にフィールド定義のフィールド名を出力しません。 |
| はい |
先頭行にフィールド定義のフィールド名を出力します。
フィールド名は囲み文字で囲みません。
|
| はい(フィールド名を囲む) |
先頭行にフィールド定義のフィールド名を出力します。
囲み文字が指定されている場合はフィールド名を囲みます。
|
|
フィールド定義
フィールド名とデータ型を定義します。
| フィールド名 |
フィールドの名前を指定します。 |
| データ型 |
String、Boolean、Integer、Double、Decimal、DateTimeのいずれか。Binaryは指定できません。 |
メモ
- 外部からストリームを読み込んだ場合にフィールド定義のフィールド数より読み込んだフィールド数が少ないとき、nullが埋められます。フィールド定義のフィールド数より読み込んだフィールド数が多いとき、そのフィールドは無視します。
- String型のフィールドの内容が改行を含む文字列の場合、囲み文字が「(none)」であれば改行以降を切り捨てた文字列を出力します。