CSV
読み:スィーエスヴィー
外語:CSV: Comma Separated Value
カンマ区切り値。
目次
概要
特徴
機能
CSVとTSV
書式
変種と実装のゆれ
概要
データベース
や
表計算ソフトウェア
の
データ
を、
テクストファイル
として記録する方式の一つ。
項目(
フィールド
)をカンマで区切り、
レコード
を改行(
CRLF
)で区切る。1行が1レコードとなり、1ファイルがデータベースの1
テーブル
となる。
様々な実装があったが、2005(平成17)年10月に
RFC 4180
がInformationalとして公開されている。
特徴
機能
殆どのデータベースや表計算ソフトウェアが対応する事実上の標準交換
フォーマット
であり、
デファクトスタンダード
である。
但し、項目の属性などを保存する機能はない。保存されるのは実際のデータ内容のみである。
CSVとTSV
同様のものに、
タブコード
でフィールドを区切ったタブ区切り値(
TSV
)がある。区切りが違うだけで、機能は同じである。
対するTSVよりは断然人気があり、対応処理系も多そうである。しかしTSVが速やかにMIME登録ツリーに登録されたのに対して、CSVはなかなか登録される気配が無かった。
満を持して登場したRFCにより
MIMEタイプ名
「
text/csv
」が登録され、その詳細な
仕様
も規定され、一気に優位に立った(TSVにはRFCがない)。TSV派は今頃、歯軋りして悔しがっていることだろう。たぶん。
書式
RFC 4180の
仕様
では基本的に、次のように格納される。(CRLF)は改行文字とする。
AAA,BBB,CCC(CRLF)
DDD,EEE,FFF(CRLF)
特殊な機能が与えられた文字は一種類のみで、"である。改行文字や、カンマ文字、"そのものを表わすときは、次のようにする。
「AAA改行AAA」と「B,B」を表わすには、次のように"で括って書かれる。
"AAA(CRLF)
AAA","B,B"(CRLF)
"文字そのものは、""として記述する。
"AAA","B""BB","CCC"
変種と実装のゆれ
RFCが書かれる前の実装は、その実装により様々な動作をすることがある。
例えば、文字列は常に"で囲み「文字列型」とし、"のない数列は「数値型」として読み取る、という実装をした処理系もある。これで、CSVには本来ない項目の属性も、二種類だが保存できることになる。
Microsoft Excel
は、読み込みの際に利用者に選ばせる。基本的に数値として解釈可能なものは数値とし、"の囲みの有無で動作が変化することはない。
再検索