
前回の記事「CSV のデータ加工を自動化する」では、カンマで区切られた標準的な CSV データを、自動工程[CSV データ更新]で加工する方法をご紹介しました。
しかし、この[CSV データ更新]の真価は、単なる Comma-Separated Values 形式の処理にとどまりません。オプション設定を使い分けることで、TSV(タブ区切り)やヘッダのない生データ、さらには単一行のテキスト値など、「CSV」という枠を超えた多様な形式を取り込むことができます。
さらに出力時にも、クォートの有無やヘッダ設定の切り替え、個別のデータ項目への分割保存といった細かな制御が可能です。これにより、後続工程の要件に応じた柔軟なデータ変換を実現できます。
[CSV データ更新]関連記事:
- [CSV データ更新]でデータ加工を自動化する
- [CSV データ更新]で様々なデータの入出力に対応する
- [CSV データ更新]でデータ集計を自動化する
- [CSV データ更新]で選択肢マスタを構成する(近日公開予定)
1. 利用できるオプション
1-1. 入力時のオプション
[入力データ]の設定には、CSV 形式以外のデータを入力の対象にできるように、オプションが用意されています。
- データ形式:
- 「CSV」(カンマ区切り)と「TSV」(タブ区切り)のいずれかを選択可能です。
- ヘッダの有無:
- 「ヘッダなし(1行目からデータ)」を選択すると、1行目からデータ行として扱われます。この場合、クエリでのカラム名は
"col1","col2"… と指定します。
- 「ヘッダなし(1行目からデータ)」を選択すると、1行目からデータ行として扱われます。この場合、クエリでのカラム名は
- ID カラムの追加:
- 入力データに行番号を示す ID カラム(1, 2, 3…)を自動付与するオプションがあります。
1-2. 出力時のオプション
[保存設定]では、出力形式を細かく制御できるオプションが用意されています。
- 保存形式:
- CSV / TSV を選択できます。入力と異なる形式での出力(変換)も可能です。
- ヘッダの出力:
- 出力データにヘッダ行を含めるか、データのみにするかを選択できます。
- クォート囲みの有無:
- 出力データの各値をクォートで囲むかどうかを指定できます。
- 分割保存:
- 「各カラムの値を改行区切りで保存」や「各セルの値を別々のデータ項目に保存」といったオプションも選択可能です。
- 使い方については別記事で紹介します。
- [CSV データ更新]でデータ集計を自動化する(近日公開予定)
- [CSV データ更新]で選択肢マスタを構成する(近日公開予定)
- 使い方については別記事で紹介します。
- 「各カラムの値を改行区切りで保存」や「各セルの値を別々のデータ項目に保存」といったオプションも選択可能です。


2. データ形式と対応するオプション設定
2-1. ヘッダ行がないリストデータを取り込む
氏名一覧などの、単なる箇条書きリスト(改行区切りの文字列)のデータに対応します。
設定例
入力オプション
- [C1a: データ形式 > ヘッダの有無]で「ヘッダなし(1行目からデータ)」を指定します。
出力オプション
- [C4: クエリ結果の保存方法]で「テーブル全体を CSV / TSV 形式で1つのデータ項目に保存する」を指定します。
- [C4b: 保存する際のデータ形式]の[ヘッダの有無]で「ヘッダなし(1行目からデータ)」を指定します。
クエリ例
フィールド名「q_list」のデータ項目に保存されている氏名リストを、アルファベット順に並べ替える。ヘッダがない列を “col1” で指定する。
SELECT *
FROM "q_list"
ORDER BY "col1"
利用シーン
- テキストリストを加工したうえで、別のデータ項目に保存する。
- 文字型(複数行)の内容をクエリで整形・再出力する。
2-2. 文字型(単一行)のデータを取り込む
ヘッダ行を持たない[文字型(単一行)]データ項目に保存されているデータに対応します。1行の CSV データとして扱われます。
設定例
入力オプション
- [C2: データが保存されているデータ項目2]で文字型(単一行)のデータ項目を指定します。
- [C2a: データ形式]の[ヘッダの有無]で「ヘッダなし(1行目からデータ)」を指定します。
クエリ例
[C1b: クエリからアクセスする際のテーブル名]が「売上表」のデータから、「商品ID」列を検索し、抽出する。検索対象となる値は、サブクエリで[C2: データが保存されているデータ項目2]で指定したフィールド名「q_productId」のデータ項目の値が参照される。
SELECT *
FROM "売上表"
WHERE "商品ID" LIKE (SELECT * FROM "q_productId")
利用シーン
- プロセスごとに単一行データを変えて、抽出する対象を変更する。
2-3. TSV 形式のデータを取り込む
入力データの形式で TSV を指定することで、TSV 形式(タブ区切り)のデータに対応します。
設定例
入力オプション
- [C1a: データ形式]の[CSV / TSV]で「TSV」を指定します。
出力オプション
- [C4b: 保存する際のデータ形式]の[CSV / TSV]で「CSV」を指定します。
クエリ例
[C1b: クエリからアクセスする際のテーブル名]が「商品」のデータを全て取り込んで出力する。(入出力オプションにより CSV に変換される。)
SELECT *
FROM "商品" 
利用シーン
- 外部連携で CSV 形式が要求される場合に、TSV 形式のデータを CSV 形式に変換する。
2-4. クォートの有無を指定して出力させる
出力時のフォーマットで、クォート有無を指定できます。なお、入力時のクォートの有無は自動で処理されるのでどちらでもかまいません。
設定例
出力オプション
- [C4b: 保存する際のデータ形式]の[CSV / TSV]で「CSV」を指定します。
- [C4c: カラム名とデータをダブルクォートで囲む]で「常に」を指定します。
クエリ例
[C1b: クエリからアクセスする際のテーブル名]が「商品」のデータを全て取り込んで出力する。(入出力オプションによりダブルクォート囲みに変換される。)
SELECT *
FROM "商品"
利用シーン
- 連携先のシステムが「全ての値をクォートで囲むこと」を要求している場合や、逆に「クォート不要」な場合に形式を合わせる。
- クォート付き/なしデータの相互変換。
3. まとめ
[CSV データ更新]では、入力時のオプション設定により、CSV 形式以外のデータも扱うことができます。たとえば文字型(単一行)に保存されたカンマ区切りがないデータは、「1行1列のみ」の CSV データとして扱うことができます。
ヘッダの有無や区切り文字(カンマ/タブ)、クォート処理などのオプションを組み合わせることで、単純なテーブルデータだけでなく、様々なテキストデータの加工やフォーマット変換ハブとして活用できます。[CSV データ更新]という名前ですが、CSV データの加工にとどまらず、いろいろな用途でお役立てください。
