ForHosting KIT · データ変換・整形

複数のCSVファイルを1つに結合する方法|列を自動整列

2つのCSVファイルを共通の列でつなぎ、残す行を選べます。一致した行だけ、1つ目のファイルの全行、両方の全行のいずれかです。例では、AdaにMadridという都市が付き、Luisの行は都市が空欄のまま残ります。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
1つ目のテキスト
id,nombre 1,Ada 2,Luis
2つ目のテキスト
id,ciudad 1,Madrid
Key
id
結果
行数
2

複数のCSVファイルを1つのファイルにまとめる機能です。月ごとや店舗ごとに分かれたCSVを1つの表にまとめて、集計や分析をしやすくしたいときに使います。

2つの表をつなぐ3つの方法

注文は一つの書き出しファイルに、顧客情報は別のファイルにあり、両者をつなぐのはメールアドレスや顧客番号といった共通の列だけ、ということはよくあります。行のつなぎ方は選べます。内部結合は両方のファイルにある行だけを残します。左結合は1つ目のファイルの行をすべて残し、一致がない部分は2つ目のファイルの列を空欄にします。完全外部結合は両方の行をすべて残します。この違いは見た目以上に重要で、内部結合ではまだ注文していない顧客が気づかないうちに消えてしまいます。

キーが完全に一致しなければならない理由

つなぐための列は、ファイルに書かれた文字のまま比べられます。実際のファイルはきれいにそろっていないことが多く、一方では番号の先頭にゼロが付き、もう一方では付いていない、片方にだけキーがない、同じキーが重複している、といったことが起こります。そのため、あらかじめつなぐ列を整えておくと、最も確かな結果になります。在庫数のファイルと商品一覧を品番でつなぐ、社員名簿と研修の修了記録を左結合して、必須研修をまだ終えていない人を見つける、といった場面で役立ちます。

列の並びが違う場合

結合は列の位置ではなく、見出し行の列名を基準に行います。ファイルごとに列の順番が違っていても、同じ列名であれば自動でそろえて結合されます。

見出し行の重複

元のファイルそれぞれに見出し行があっても、結合後のファイルには見出し行が1回だけ出力されます。見出し行が二重に混ざる心配はありません。

対応できる範囲

合計ファイルサイズは25MBまで対応しています。列名が完全に一致しない場合は、事前に列名をそろえておくと結合がスムーズです。

月ごとの売上CSVを1年分にまとめる

株式会社山田商事では、月ごとに分かれて保存していた売上CSVをこの機能で1つにまとめ、年間の集計に使っています。

店舗ごとの在庫データを統合する

合同会社みどりデザインでは、店舗ごとに書き出された在庫CSVをこの機能で結合し、全店舗の在庫を1つの表で確認しています。

複数の名簿ファイルを1つにまとめる

伊藤さくらさんは、部署ごとに管理していた名簿CSVをこの機能で結合し、全社の名簿として1つのファイルにまとめています。

列の順番が違うファイル同士でも結合できますか?

できます。 列名を基準に結合するため、ファイルごとに列の順番が違っていても自動でそろえられます。

見出し行は重複して出力されますか?

されません。 結合後のファイルには見出し行が1回だけ出力されます。

なぜ無料で使えるのですか?

処理がブラウザ内で完結するため、無料で提供しています。会員登録も不要です。

日本語のサポートはありますか?

申し訳ありませんが、日本語でのサポートは行っておりません。サポートは英語またはスペイン語で、担当者が直接対応します。ツール自体は日本語のデータでも問題なくご利用いただけます。

相手のファイルに一致する行がない場合はどうなりますか?

左結合か完全外部結合なら、その行は残り、相手のファイルから来るはずの列は空欄になります。例ではLuisが2つ目のファイルにないため、都市が空欄の行として返ります。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/data/merge-csv

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/data/merge-csv \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":"id,x\n1,foo","b":"id,y\n1,bar","key":"id"}'
{
  "a": "id,x\n1,foo",
  "b": "id,y\n1,bar",
  "key": "id"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.merge_csv",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_mb25
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

よく使う場面

月ごとに分かれた売上データを1年分にまとめる作業や、店舗ごとに分かれた在庫データを本社で1つにまとめる作業などに向いています。

アップロードしたファイルはどこに送信されますか

送信されません。結合はブラウザ内で完結します。

ファイルサイズに制限はありますか

結合するファイルの合計で25MBまでです。

自動化のための料金はいくらですか

1リクエスト$0.002(米ドル)です。

KITの完全なドキュメントを見る →