※本ページにはプロモーション(広告)が含まれています
値をカンマで区切って並べた単純なテキスト形式。表形式データの受け渡しに使われ、Excel・スプレッドシート・多くのプログラミング言語で扱える。
詳しい解説
CSVは「Comma-Separated Values」の略で、表形式のデータを『カンマで区切った値の並び』として記述する最もシンプルなデータ形式です。拡張子は `.csv` で、1行が1レコード(表の1行)、カンマで区切られた各項目が1列に対応します。
構造の単純さゆえに、ほぼ全てのスプレッドシートソフト(Excel・Googleスプレッドシート・Numbers)、データベース、プログラミング言語(Python pandas、Node.js、R、Excelマクロ)で読み書きできます。システム間のデータ受け渡し、マスタデータの取り込み、レポート出力、機械学習のデータセットなど、企業内のデータ連携で今も最も使われる形式です。
最初の行にヘッダー(列名)を書くのが慣習で、`name,age,city` の次行から実データが続きます。値にカンマや改行を含む場合はダブルクォーテーションで囲み、`"Yamada, Taro"` のように表現します。
RFC 4180で基本仕様が定義されていますが、実装によって微妙に差があり、改行コード(LF/CRLF)、文字エンコーディング(UTF-8/Shift_JIS)、区切り文字(カンマ以外にタブやセミコロンを使うTSV/SSV)、BOMの有無で相互運用性のトラブルが頻発します。日本ではShift_JISのCSVをExcelで開くと文字化けしないが、UTF-8だと文字化けする、という問題が特に有名です。
欠点として、ネストした構造(階層データ)を表現できない、型情報がない(数値も文字列として扱われる)、セルの書式設定やグラフは保存できない、大規模データでは非効率、といった点があります。階層データや型情報が必要ならJSON、分析用の大規模データならParquetやArrowなどが代替として使われます。
ECサイトの注文一覧を経理に渡す場面を想像してください。システムから `orders.csv` をエクスポートすれば、`order_id,customer,amount,date` のようなヘッダーと1行1注文のデータがテキストで出力されます。経理はそれをExcelで開いて集計、給与システムに取り込み、と自由に使えます。どんなシステム同士でも中間言語として使えるのがCSVの強みです。
別の呼び方
Comma-Separated Values
カンマ区切り
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!