カンマ区切りデータ

2016.01.05

カンマ区切りデータとは

テキストデータの形式のひとつ。CSV(Comma-Separated Values)と略称される。複数の項目で構成されるデータを「,」(カンマ)で区切って並べたもの。主に表計算ソフトやデータベースソフトの標準的なデータ形式として利用され、汎用性が高い。カンマのほかに半角スペースで区切るSSV(Space-Separated Values)、タブで区切るTSV(Tab-Separated Values)などがある。

もっと詳しく!

項目数とカンマ区切り

行頭から行末(改行)までがひとつのレコードとして扱われる。1レコードは複数の項目で構成され、その区切りとして「,」(カンマ)が用いられる。

 
例えば、学校の時間割であれば以下のようになる。

,1時限,2時限,3時限,4時限,5時限,6時限(改行)
月曜,国語,社会,体育,数学,英語,音楽(改行)
火曜,数学,英語,理科,国語,社会, (改行)
水曜,英語,国語,家庭,体育,数学,理科(改行)
木曜,美術,美術,国語,数学,英語, (改行)
金曜,社会,理科,英語,体育,国語,数学(改行)

上の例では火曜と木曜は5時限までだが、レコードの項目数は固定なので、区切る必要がなくても行末に「,」が必要になる。木曜の1~2時限は連続して美術だが、表計算ソフトのようにセル結合のようなことはできない。また最初のレコードでは行頭に「,」をいれなければならない。

要素中のカンマとカンマ区切り

要素の中に「,」が含まれる場合は、項目単位を「"」(ダブルクォート)で囲むことで、区切り記号と誤解釈されることを回避する。

書籍A,いまさら出版,2015年,800円(改行)
書籍B,キケナイ書房,2015年,980円(改行)
書籍C,基礎知識社,2015年,"1,280円"(改行)

一般に、カンマ区切り形式でデータを初期入力することはあまりないはずである。表計算ソフトやデータベースソフトの、各フィールド(セル)にデータを入力し、これを別アプリで再利用するために、CSVまたはTSVで保存することが大半であろうと思われる。

エクセル等でセル内に「,」(カンマ)や「"」(ダブルクォート)、そして改行が含まれていた場合は要注意である。上記の要素内カンマ同様、セル内改行があった場合もその要素は「"」(ダブルクォート)で囲まれるし、セル内で「"」が使用されていた場合そのダブルクォートは「"」(ダブルクォート)×2でエスケープされる。

"電子出版の""今""","JEPA(改行)
(日本電子出版協会)",2016年,"1,980円"(改行)

このデータをエクセルで活用する場合はいいが、単純に“テキスト”として再利用したい場合は、余分なダブルクォートや改行のクリーニングが必要になる。

ちなみに、エクセル上で複数のセルを範囲指定してクリップボード経由でコピペした場合にはTSVとなる。現在はTSVの方が多く用いられている印象がある。

[永田 健児/株式会社ディジタルアシスト/20160104]