CSV

CSV比較・差分チェック

2つのCSV・TSVを比較し、Aのみ・Bのみ・値の差分を確認できます。キー列比較と、行・列順を含めた比較の両方に対応します。

ブラウザ内処理ファイル内容や貼り付けたデータはTool Koboのサーバーへ送信しません。

  1. 1CSVを入力
  2. 2比較条件
  3. 3比較結果
1

Input

CSVを入力

比較するCSV AとCSV Bを指定し、読み取り方法を確認します。

CSV A

直接貼り付けもできます。

CSV B

直接貼り付けもできます。

まとめて整える

比較した2つのCSVの形式も揃えたいですか?

基準にしたいCSVを1つ選べば、文字コード・BOM・改行・区切り・列の並びをまとめて確認し、安全に変えられる項目だけ揃えられます。

CSVお手本変換を使う

Use cases

主な用途

  • 2つのCSV・TSVで、どの行・セルが異なるか確認したい
  • IDやコードなどのキー列で行を対応付けて比較したい
  • 行順・列順も含めて、ファイル全体が同じ内容か確認したい
  • 途中で行が追加・欠落していても、その後の行をなるべく対応付けて比較したい
  • 列順が違うCSVでも、同じ見出し名の列を対応付けて値を比較したい
  • 1行見出しだけでなく、属性行+列名行のような2行見出しのCSVを比較したい
  • UTF-8とShift_JIS(Windows-31J / CP932)のファイルを比較したい

How to use

使い方

  1. CSV AとCSV Bを貼り付けるか、ファイルを選択します。必要に応じて文字コードと区切り文字を指定します。
  2. 見出し行数を「なし / 1行 / 2行」から選びます。2行を選ぶと2行目を列名として使用し、1行目は補助見出しとして差分を確認します。
  3. 「CSVを読み取って比較条件へ」を押し、列構成や件数を確認します。
  4. 「キー列で比較」または「行・列順で比較」を選びます。
  5. 大文字・小文字の違いを差分にしない場合は、「大文字・小文字の違いを無視」をONにします。
  6. キー列比較では、対応付けに使うキー列を1つ以上選びます。複数列を組み合わせたキーにも対応します。
  7. 行・列順比較で見出しがある場合、必要に応じて「同じ見出し名の列は位置を合わせて比較」をONにします。初期状態はOFFです。
  8. 「この条件で比較する」を押すと、Aのみ・Bのみ・差分・一致の件数と比較表を表示します。列順・列構成・2行見出しの補助行に違いがある場合は、列構造差分も別に表示します。
  9. 結果は「差分のみ」「すべて」を切り替えられ、比較結果CSVまたは差分セル一覧CSVとして保存できます。

Tips

2つの比較方法の違い

キー列で比較

IDや商品コードなどを使い、AとBの同じキーを持つ行を対応付けます。行の並び順が違っていても比較できます。見出しありの場合は、列順が違っていても同じ見出し名の列を対応付けます。

行・列順で比較

行順と列順を比較対象にします。見出しありの場合は共通する見出しの値を行合わせの手掛かりに使うため、列順が違っていても同じ行を見つけやすくしています。初期状態では対応付け後の値を元の列位置で比較します。

2行見出し

1行目が項目属性や分類、2行目が実際の列名になっているCSVでは、見出し行数を「2行」にします。列の対応付けには2行目を使用し、1行目の違いは補助見出しの構造差分として表示します。

同名列の位置補正

「同じ見出し名の列は位置を合わせて比較」をONにすると、同名列の値は列位置が違っても対応付けて比較します。ただし、列の移動やAだけ・Bだけに存在する列は「列構造差分」として残るため、構造の違いが差分なしとして隠れることはありません。

改行コードは差分にしない

CRLF・LF・CRの違いそのものは比較結果に含めません。CSVとして読み取った後のセル値や行・列の構造を比較します。

大文字・小文字は選択できる

初期状態ではABCとabcを別の値として比較します。「大文字・小文字の違いを無視」をONにすると、セル値とキー値では同じ値として扱います。見出し名の対応付けには適用しません。

AとBは中立な比較対象

Aを旧データ、Bを新データとは扱いません。差分セルはAの値とBの値を並べて表示します。

Specification

対応内容

CSV・TSVなどの区切り付きテキストを対象とし、カンマ・タブ・セミコロン・パイプの自動判定または手動指定に対応します。文字コードはCSV A・BそれぞれでUTF-8またはShift_JIS(Windows-31J / CP932)を指定できます。

見出し行数は「なし / 1行 / 2行」から選択できます。2行見出しでは2行目を列名として列の対応付けやキー列選択に使用し、1行目は補助見出しとして対応する列同士を比較します。補助見出しだけが異なる場合はデータ差分ではなく列構造差分として表示します。

初期状態では大文字・小文字を区別します。「大文字・小文字の違いを無視」をONにすると、セル値とキー値の比較では大文字・小文字を区別しません。表示やダウンロードにはA・Bそれぞれの元の値を残し、見出し名による列の対応付けは大文字・小文字を区別します。

キー列比較では、共通する列から1列以上をキーとして選びます。同じキーが同一ファイル内に複数ある場合は対応関係を決めつけず、比較を停止して重複キーとして扱います。大文字・小文字を無視している場合は、その条件で同一になるキーも重複キーとして扱います。見出し名が重複している場合も、キー列比較では曖昧さを避けるため比較を停止します。2行見出しでは2行目の列名だけをこの重複判定に使用します。

行・列順比較では、途中の行追加・欠落を考慮した位置合わせを行います。見出しを使用する場合は、A・Bに共通する列名の値を行合わせの手掛かりに使用します。初期状態では行を対応付けた後も元の列位置で値を比較するため、列の移動は値差分として現れます。

「同じ見出し名の列は位置を合わせて比較」をONにすると、行・列順比較でも共通する見出し名の列を対応付けて値を比較します。この場合も、列位置の違い、Aだけの列、Bだけの列、2行見出しの補助行の違いは列構造差分として別に表示し、差分なしとは扱いません。このオプションは見出しを使用する行・列順比較でのみ利用できます。

キー列比較でAとBの列構成が異なる場合、共通列・Aだけの列・Bだけの列を分けて表示し、共通列の値を比較します。ダウンロード結果はUTF-8・LFのCSVとして出力します。差分セル一覧CSVには列構造差分と、2行見出しを使用した場合の補助見出し差分も含めます。

入力内容とファイル内容はブラウザ内で処理され、比較のためにサーバーへ送信しません。

FAQ

よくある質問

2行ある見出しは比較できますか?

はい。見出し行数を「2行」にすると、2行目を列名として使用し、1行目は補助見出しとして差分を確認します。1行目に同じ分類名が繰り返されていても、それだけで重複列名とは判定しません。

途中で1行抜けていると、その後すべて差分になりますか?

行・列順比較では、同一行などを手掛かりに位置を合わせるため、1行の欠落だけで後続行がすべて差分になることを避けるようにしています。

列順が違うCSVを比較できますか?

はい。行・列順比較では初期状態で列位置の違いも差分として比較します。「同じ見出し名の列は位置を合わせて比較」をONにすると、同名列の値を対応付けて比較できます。ただし列順の違い自体は列構造差分として残ります。キー列比較では同じ見出し名の列を対応付けます。

位置補正をONにして値がすべて一致したら、差分なしになりますか?

列順や列構成も同じ場合は差分なしになります。列が移動している、Aだけ・Bだけの列があるなどの違いがあれば、データ行の値が一致していても列構造差分として表示します。

UTF-8とShift_JISを混在して比較できますか?

はい。CSV AとCSV Bでそれぞれ文字コードを指定できます。

CRLFとLFが違うだけでも差分になりますか?

なりません。改行コードの種類そのものは比較せず、CSVとして読み取ったセル値や行・列の構造を比較します。

見出しがないCSVも比較できますか?

はい。見出し行数を「なし」にすると、列1・列2のような位置で扱います。キー列比較でも列番号に相当する列をキーとして選択できます。同名列の位置補正は見出しがある場合のみ使用できます。