CSVファイルの検証方法

CSV検証エンジンと各ファイルに実行するチェックの技術概要。

エンコーディング検出

ファイルのバイトパターンを分析して文字エンコーディングを検出します。UTF-8、UTF-8 with BOM、Latin-1(ISO-8859-1)、Windows-1252などの一般的なエンコーディングをすべて検出します。BOM(バイトオーダーマーク)が存在する場合は識別・報告されます。非UTF-8ファイルは分析前に変換されます。

区切り文字の自動検出

エンジンがファイルの最初の数行をサンプリングし、一般的な区切り文字(カンマ、セミコロン、タブ、パイプ)の出現回数をカウントします。最も一貫性のある出現回数の区切り文字が選択されます。ヨーロッパのCSVエクスポートでセミコロンが一般的な地域差にも対応します。

構造の検証

各行がヘッダー行と同じ列数を持っているか確認します。列が不足または余分な行はフラグ付けされます。空行、末尾の区切り文字、正しい改行コードもチェックします。各構造上の問題は重大度別に分類されます。

ヘッダーの検証

ヘッダー行が検出された場合、空のヘッダー、重複するヘッダー名、前後に空白のあるヘッダーをチェックします。クリーンで一意なヘッダーは、データインポートシステムやデータベースにとって不可欠です。

データ型分析

各列のデータをサンプリングして、主要なデータ型(整数、浮動小数点、ブール値、日付、メール、URL、文字列)を判定します。データ型が混在または予期しない列を特定し、データ品質の問題を示すことが多いです。

重複・空行の検出

各行をハッシュ化して正確な重複を効率的に検出します。空行(データのない行または区切り文字のみの行)も特定・カウントされます。どちらの問題もデータインポート時に一般的に問題を引き起こします。

品質スコアの計算

品質スコアは100から始まり、発見された問題の重大度と数に基づいて減少します。列の不一致やエンコーディングの問題などの重大な問題はより大きな減点を、末尾の空白などの軽微な問題はより小さな減点を引き起こします。

スコア範囲

  • 90-100: 優秀 – ファイルはクリーンで使用準備完了
  • 80-89: 良好 – 問題を引き起こさない可能性のある軽微な問題
  • 60-79: 普通 – 確認が必要な問題あり
  • 40-59: 不良 – 修正が必要な重大な問題
  • 0-39: 重大 – インポート失敗の可能性が高い深刻な問題

CSVツール