CSVとは?カンマ区切りデータの基本と活用方法を解説
CSVとは何か、カンマ区切り形式の基本ルールやヘッダー行の役割、ダブルクォートの扱い、Excelとの関係、JSONへの変換メリットを初心者向けに解説します。

CSVとは
CSV(Comma-Separated Values)は、データをカンマで区切って並べたテキスト形式です。表計算ソフトが扱う行と列の構造を、プレーンテキストとして表現できるもっともシンプルなフォーマットといえます。
1970年代から使われている歴史の長い形式で、RFC 4180 として仕様が整理されています。Excel、Google スプレッドシート、データベースのエクスポート、業務システム間のデータ連携など、あらゆる場面で目にする機会があるでしょう。
CSVの基本構造
行と列
1行が1レコード、カンマで区切られた各要素が1フィールドです。
田中太郎,30,東京
佐藤花子,25,大阪
鈴木一郎,35,名古屋
ヘッダー行
先頭行を列名(ヘッダー)として扱うのが一般的です。ヘッダーがあることで、各フィールドが何を意味しているのかが明確になります。
name,age,city
田中太郎,30,東京
佐藤花子,25,大阪
鈴木一郎,35,名古屋
ヘッダー行は仕様上必須ではありませんが、実務ではほぼ必ず含めます。ヘッダーがないと、3番目のフィールドが都市名なのか部署名なのか、データだけでは判断できません。
ダブルクォートのルール
フィールド内にカンマや改行が含まれる場合は、フィールド全体をダブルクォートで囲みます。
name,comment
田中太郎,"趣味は読書、ランニングです"
佐藤花子,"東京都渋谷区
神宮前1-2-3"
フィールド内にダブルクォート自体が含まれる場合は、ダブルクォートを2つ重ねてエスケープします。
title,note
商品A,"サイズは""M""です"
このルールを知らずにデータを作ると、パースが失敗する原因になります。
CSVとExcel・スプレッドシートの関係
Excel で「名前を付けて保存」からファイル形式に CSV を選ぶと、CSV ファイルが出力されます。逆に、CSV ファイルをダブルクリックすると Excel が起動して表形式で表示されます。
ただし、注意点もあります。Excel は CSV を開くときに独自の型推論を行うため、先頭がゼロの数値(007)が 7 に変換されたり、日付として解釈されたくない文字列が勝手に日付になったりすることがあります。
Google スプレッドシートでも CSV のインポート・エクスポートが可能です。「ファイル」→「ダウンロード」→「カンマ区切り形式」で CSV を取得できます。
CSVの限界
CSV はフラットな表形式しか表現できません。階層構造(ネスト)を持つデータには不向きです。
たとえば「1人のユーザーが複数の注文を持つ」といったデータを CSV で表現しようとすると、行を繰り返すか列を増やすかの工夫が必要になり、データの扱いが煩雑になります。
また、CSV にはデータ型の概念がありません。30 が数値なのか文字列なのか、true が真偽値なのか文字列なのか、CSV ファイルだけでは判断できません。
CSVをJSONに変換するメリット
こうした CSV の限界を補うために、JSON への変換が役立つ場面があります。
構造化されたデータへの変換
CSV の各行を JSON オブジェクトに変換すると、ヘッダー行がキー名になり、各フィールドの意味が明確になります。
[
{
"name": "田中太郎",
"age": "30",
"city": "東京"
},
{
"name": "佐藤花子",
"age": "25",
"city": "大阪"
}
]
API連携への活用
REST API にデータを送信する場合、リクエストボディは JSON 形式が一般的です。Excel やスプレッドシートからエクスポートした CSV を JSON に変換すれば、そのまま API のリクエストに利用できます。
プログラムでの処理のしやすさ
JSON に変換しておけば、JavaScript の Array.filter() や Array.map() でデータを加工するのも簡単です。CSV のまま扱うよりも、コードの可読性が上がります。
CSVからJSONへの変換方法
CSV to JSON を使えば、ブラウザ上で CSV を貼り付けるだけで JSON に変換できます。ファイルのアップロードは不要で、データがサーバーに送信されることもありません。
JSON の基本について知りたい方は JSONとは を、変換の詳しい手順は CSVをJSONに変換する方法 を参照してください。
まとめ
- CSV はカンマ区切りのシンプルなテキスト形式で、表形式のデータを表現する
- ヘッダー行で各列の意味を定義するのが一般的
- カンマや改行を含むフィールドはダブルクォートで囲む
- Excel やスプレッドシートとの相互運用が容易
- 階層構造やデータ型の表現には限界がある
- JSON に変換することで、API 連携や構造化データとしての活用が広がる
- 変換には CSV to JSON が便利