profaim  >  関連技術  >  データ形式  >  CSV 形式

CSV 形式

Write : 2006/02/07

CSV (Comma Separated Value)

CSV とは

一般的に CSV とは、データの保存形式を示す言葉です。CSV はテキスト形式でデータを記録しますが、表形式のデータを扱うのに適しています。まず、表の1レコードが CSV の1行に対応します。そしてレコード内のデータをカンマ(,)で区切った内容が CSV の1行の内容になります。

CSV の利点

CSV の利点はテキスト形式で表形式のデータが扱えるという点です。表データを扱うソフトの代表として Microsoft社 の Excel がありますが、これはバイナリ形式でデータを扱っているため Excel または その互換ソフトが無いとデータを見ることさえできません。しかし CSV であればテキスト形式のため、メモ帳といったテキストエディタさえあれば編集もできますし、Excel や CSV編集ソフト を使用すればより簡単にデータを編集することができます。

CSV の欠点

CSV の欠点としては、「カンマ区切りである」ということです。カンマでデータを区切る以上、データにカンマが入ってはいけません。データ中のカンマがデータの区切りとして処理されてしまうからです。実際の CSV では、カンマをエスケープしたり、データ部分をダブルコーテーション(")で囲ったり、タブなど別の区切り文字でデータを区切ったりしてこの問題を回避しています。

カンマで区切れないデータの扱い

カンマのエスケープ

カンマのエスケープと言うのは、データ中のカンマ「,」を内部的に「\,」などで置き換える方法です。この方法を利用すれば、CSV でカンマを持つデータを扱えます。

もし CSV 中に「\,」が現れたらそれはデータの「,」だとして処理します。しかしこの方法では、「\」で終わるデータは次の区切り文字とあわせて「\,」となってしまうため扱えません。

データ部分をダブルコーテーションで囲む

データ部分をダブルコーテーション(")で囲めば、囲まれたデータ部分に含まれる「,」はデータとして処理できます。しかし「,」は心配なくてもデータ部分にダブルコーテーションがある場合はそれもエスケープしなければいけないといった話がでてきてしまいます。

タブでデータを区切る

基本的にはカンマ(,)で区切る場合と何も変わりません。ただカンマよりもデータ中に含まれる可能性の少ない文字を使用してデータを区切ろうとする方法です。

データのエンコード

そもそもデータとして「,」があっても「,」が含まれないデータとなるよう符号化して扱う方法です。データの保存という目的では問題ありませんが、テキストエディタで簡単に編集できなくなってしまいます。

例えば Base64 でエンコードした場合、もともとテキスト形式のため大きくなりがちなデータサイズを Base64エンコード によってさらに大きくしてしまう点も気になります。



  関連技術  
ネットワークとプロトコル
データ管理
RAID1
データ形式
拡張子(Extention)
CSV 形式
連想配列
W3Cによる日時表記
SEO
メニュー・見出し・タイトル
色彩・デザイン
モニタ・キャリブレーション
言語・環境
Java
Servlet/JSP
PHP
Objective-C
Excel関数
サポート
info@profaim.jp

PR
検索
カスタム検索