CSV結合
2つのCSV(CSV A・CSV B)を指定したキー列でJOIN、または列構成が一致するCSV同士をUNIONで結合できます。
CSV A
対応形式: .csv(最大サイズの制限はありません)
CSV B
対応形式: .csv(最大サイズの制限はありません)
このツールでできること
2つのCSVを結合するための主な機能です。
- 2つのCSV(CSV A・CSV B)を指定したキー列でINNER JOIN・LEFT JOINできます
- 列構成が一致するCSV同士をUNION ALL・UNIONで結合できます
- JOINキーはCSV A側・CSV B側で異なる列名を指定できます
- 同名列は自動的に安全な列名へ変更され、データが上書きされることはありません
- 結合方式・入力A件数・入力B件数・出力件数を常時確認できます
- 結果をコピー・CSVダウンロードできますいずれも表示上限に関わらず全件が対象です
- 他のCSV系ツールから結果を受け取り、続けて別のCSV系ツールへ送ることができます
手順を見る
- CSV A・CSV Bを読み込みますそれぞれファイル選択またはテキスト貼り付けで読み込みます
- 結合方式を選びますINNER/LEFT JOINの場合はJOINキーも選びます
- 「結合実行」を押します
- 結果を確認します結合結果を確認し、CSVダウンロード・コピー・Pipeline送信のいずれかを行います
こんなときに使えます
こんな場面でCSV結合が役立ちます。
利用シーンを見る
- 顧客マスタと注文データを顧客IDで結合したい
- 商品マスタと売上データを商品コードで結合したい
- 基準となる一覧へ別CSVの情報を付加したい
- 両方に存在するレコードだけ抽出したい
- 月別・部署別などに分かれたCSVを1つにまとめたい
CSV結合の仕組みと注意点
詳しい解説を見る
4種類の結合方式から選べます
本ツールは、INNER JOIN(両方に一致する行のみ)・LEFT JOIN(CSV Aを基準に一致する行を付加)・UNION ALL(すべての行を連結)・UNION(完全一致する重複行を除去して連結)の4種類に対応しています。RIGHT/FULL OUTER/CROSS JOIN・複合キーJOIN・3つ以上のCSVの同時結合には対応していません。
JOINキーは文字列としての完全一致で判定します
JOINキーの一致判定は、前後の空白を除去せず、大文字・小文字を区別し、全角・半角等のUnicode差異も正規化しません。「001」と「1」のような数値に見える文字列も自動的に同一視しません。
重複キーがあるとmany-to-many展開が発生します
片方または両方のCSVに同じJOINキーを持つ行が複数ある場合、一致するすべての組み合わせが出力されます。そのため、結果の行数が入力の行数より大幅に増えることがあります。結合結果の行数があらかじめ定めた上限を超える見込みの場合、結合は実行されません。
同名列は安全にrenameされます
JOINキー以外でCSV A・CSV Bに同じ列名がある場合、CSV A側の列は一切変更されません。CSV BのJOINキー列は結果に含まれず、CSV Bの残りの列で名前が重複するものは「列名_b」(それでも重複する場合は「列名_b_2」…)のように自動的に名前が変えられます。
UNION/UNION ALLは列構成の完全一致が必要です
UNION/UNION ALLでは、CSV A・CSV Bの列数・ヘッダー名・列順がすべて完全に一致している必要があります。一致しない場合は結合が拒否されます。列順のみ異なるCSVを自動的に並び替える機能はありません。
よくある質問
どのような結合方式が選べますか?
INNER JOIN・LEFT JOIN・UNION ALL・UNIONの4種類から1つを選べます。RIGHT JOIN・FULL OUTER JOIN・CROSS JOINには対応していません。
JOINキーは複数列を組み合わせられますか?
いいえ。本ツールは単一の列によるJOINキーのみに対応しています。CSV A側・CSV B側で異なる列名を指定することはできます。
「001」と「1」は同じキーとして扱われますか?
いいえ。JOINキーの一致判定は文字列としての完全一致であり、数値に見える文字列も自動的に型変換・同一視しません。
JOINキーの前後に空白があるとどうなりますか?
前後の空白は除去されずそのまま比較されるため、空白の有無が異なる値は別のキーとして扱われます。
空文字のJOINキーは無視されますか?
いいえ。空文字も通常の値として扱われ、空文字キー同士は一致します。
片方のCSVに同じJOINキーが複数あるとどうなりますか?
一致するすべての組み合わせが出力されます(many-to-many展開)。結果の行数が入力より大幅に増える場合があります。
CSV A・CSV Bに同じ列名がある場合、データは上書きされますか?
いいえ。CSV Aの列は一切変更されません。CSV BのJOINキー列は結果に含まれず、CSV Bの残りの列で名前が重複するものは自動的に「列名_b」等へ名前が変えられます。
UNIONとUNION ALLの違いは何ですか?
UNION ALLはCSV A・CSV Bの全行をそのまま連結します。UNIONはさらに、行のセル内容が完全一致する重複行のうち2回目以降の出現を除去します。
UNION/UNION ALLで列の並び順が違うCSVを結合できますか?
いいえ。UNION/UNION ALLはCSV A・CSV Bの列数・ヘッダー名・列順がすべて完全に一致している必要があります。
結合結果の行数が多すぎる場合はどうなりますか?
あらかじめ定めた上限件数を超える見込みの場合、結合は実行されず、予定件数と上限値が表示されます。
入力したCSVはサーバーへ送信されますか?
いいえ。読み込み・結合・出力の処理はすべてブラウザ内で完結しており、サーバーへ送信されることはありません。