CSVとは?
カンマ区切りでデータを格納するテキスト形式の基礎知識と、業務で役立つポイントをまとめます。
CSVの基本
CSV(Comma-Separated Values)は、カンマで区切られたテキスト形式のデータファイルです。1行が1レコード、各列はカンマで区切られ、多くの場合1行目がヘッダー(列名)として使われます。
CSVの例
id,name,email 1,山田太郎,yamada@example.com 2,佐藤花子,sato@example.com
このように、表形式のデータをそのままテキストで表現できるため、Excel・データベース・Webアプリ間のデータ受け渡しに広く使われています。
CSVのメリット
- 汎用性:どのOS・アプリでも開きやすく、システム間連携の標準的な形式の一つです。
- 軽量:バイナリ形式に比べてサイズが小さく、メール添付やバッチ処理に向いています。
- 可読性:テキストエディタで開けるため、内容の確認や簡易編集がしやすいです。
区切り文字について
「CSV」という名前の通り、多くの場合はカンマ(,)が区切り文字ですが、地域やアプリによってはセミコロン(;)やタブが使われることがあります。特に欧州では小数点にカンマを使うため、セミコロン区切りのCSVがよく見られます。CSVチェッカーでは区切り文字の自動検出や手動指定が可能です。
文字コード(エンコーディング)
CSVはテキストファイルなので、文字コードの設定が重要です。日本語では主に次のようなものがあります。
- UTF-8:国際的にも標準的。BOM付きにするとExcelで正しく開きやすいです。
- Shift_JIS(CP932):日本の業務システムでよく使われます。Excelで保存するとこの形式になることが多いです。
文字コードが合っていないと文字化けが発生します。詳しくは文字化け・エンコーディングのトラブルをご覧ください。
CSVとExcelの違い
Excel(.xlsx)はセル・書式・数式・複数シートなどを持つバイナリ形式です。CSVは「プレーンなテキストの表データ」に特化しており、書式は持たず、1ファイル=1シートのようなイメージです。データの受け渡しやインポートにはCSVが使われることが多く、CSVとExcelの違いで詳しく比較しています。
CSVで気をつけたいこと
CSVは単純な形式だからこそ、次のようなトラブルが起こりがちです。
- 重複ID:同じIDが複数行あると、DB登録やマッチングでエラーになります。重複データの見つけ方を参照してください。
- 不可視文字:コピペや他システム由来のデータに、見えない制御文字が含まれることがあります。CSVエラーガイドで対処法を解説しています。
- 列数不一致:行によって列の数が違うと、インポート時にエラーになることがあります。形式・基本チェックで事前に検出できます。
CSVの歴史とRFC 4180規格
CSVはコンピュータ黎明期から使われてきた形式です。2005年にRFC 4180として、カンマ・クォート・改行の扱い方が公式に定義されました。古い形式ながら、そのシンプルさとほぼすべてのソフトウェアによるサポートにより、現在でも最も広く使われるデータ交換形式の一つです。CSVを開いたり作成したりするために専用アプリは必要ありません。
実務でCSVが使われる場面
CSVは、ほぼあらゆる業界で活用されています。
- EC・通販:商品カタログ・注文エクスポート・在庫リストをShopifyや各モールのシステム間でCSV形式でやり取りします。商品の一括登録・更新でもCSVが標準的に使われます。
- 金融・会計:銀行の取引明細・給与データ・仕訳データを会計ソフト(弥生・freeeなど)に取り込む際にCSVが使われます。
- 医療:患者リスト・予約記録・検査結果を院内システムと外部ツール間でCSV交換することがあります。専用ソフト不要で内容を確認できる点が便利です。
- 行政・研究:オープンデータポータルや学術データセットは、専用ツールなしで誰でも開けるCSVで公開されることが多いです。
- マーケティング:メールリスト・CRMエクスポート・広告パフォーマンスデータをCSVで管理・共有します。
CSV vs JSON vs XML:どの形式を使うべきか?
テキストベースのデータ形式はCSVだけではありません。選択の参考に簡単に比較します。
- CSV:行と列のシンプルな表データに最適。非エンジニアでもスプレッドシートでそのまま編集可能。単一テーブルのみ表現可能で、階層構造は持てない。
- JSON:階層的・ネスト構造のデータに適する。REST APIやWeb開発で多用される。開発ツールなしでの編集が難しく、非エンジニアには馴染みが薄い。
- XML:スキーマ・バリデーションが必要な複雑な構造をサポート。エンタープライズや旧システム連携で使われる。冗長で目視確認が難しい。
商品リストや顧客エクスポートのようにデータが単純な行・列の表構造であれば、CSVがほぼ常に最適な選択です。ネストされたオブジェクトや複数の関連テーブル、API連携が必要な場合はJSONが適しています。
CSVトラブルの原因になりやすい3つのミス
実務で起きるCSVエラーの多くは、次の3つのミスに起因します。
- 文字コードの不一致:Shift_JISやEUC-JPで保存したファイルをUTF-8環境で開くと文字化けが発生します。ファイルを渡す前に必ず文字コードを確認しましょう。形式・基本チェックツールを使えば自動で検出できます。
- 区切り文字を含むフィールドの未処理:
山田, 太郎のようにカンマを含むフィールドをダブルクォートで囲まないと列構造が崩れます。大量データでは目視で見つけるのが難しく、列数不一致エラーの最多原因の一つです。 - コピー&ペーストで混入した不可視文字:WebページやPDF、チャットツールからデータをコピーすると、ゼロ幅スペース・ノーブレークスペースなどの制御文字が混入します。Excelでは見えませんが、DBやAPIでのインポート失敗の原因になります。CSVチェックツールでワンクリックで検出・除去できます。