【しーえすぶい】

CSV とは?

💡 カンマで区切るだけの「世界一シンプルな表」
📌 このページのポイント
CSV:カンマ区切りのデータ形式 CSVテキスト 名前,年齢,都市 田中,28,東京 鈴木,35,大阪 佐藤,42,名古屋 山田,31,福岡 ↑ カンマ(,)で区切る 変換 テーブル表示 名前 年齢 都市 田中 28 東京 鈴木 35 大阪 佐藤 42 名古屋 山田 31 福岡 シンプルなテキスト形式で、Excel・DB・プログラムと相互変換が容易 拡張子: .csv | MIME: text/csv
CSVのイメージ
ひよこ ひよこ

CSVってどんなファイルなの?

ペンギン先生 ペンギン先生

すごくシンプルで「名前,年齢,住所」みたいにカンマで値を区切って、1行に1件分のデータを書くだけのテキストファイルだよ。Excelでも開けるし、プログラムからも簡単に読み書きできるから、データのやりとりの定番フォーマットなんだ。

ひよこ ひよこ

JSONYAMLと比べてどう違うの?

ペンギン先生 ペンギン先生

CSVは「表形式」のデータに特化しているのが特徴だよ。JSONYAMLは階層構造(入れ子)を表現できるけど、CSVは行と列だけのフラットな表しか表せない。そのかわり構造がシンプルだから、データ量が多くても軽くて高速に処理できるんだ。

ひよこ ひよこ

CSVを扱うときの注意点ってある?

ペンギン先生 ペンギン先生

一番のハマりポイントは「データの中にカンマが入っているケース」だね。住所に「東京都千代田区,1-1」のようなカンマがあると区切り位置がずれてしまう。こういうときはダブルクォートで囲むルールがあるんだけど、ツールによって扱いが微妙に違って文字化けやずれが起きやすいから、文字コードの指定(UTF-8かShift_JISか)と合わせて事前確認するのが大事だよ。

ひよこ ひよこ

ExcelでCSVを開くと数字がおかしくなるんだけど、なんで?

ペンギン先生 ペンギン先生

Excelが勝手にデータ型を推測して変換してしまうからだよ。「001」が数値の「1」になったり、「1-2」が日付の「1月2日」になったり。特に電話番号や商品コードで困る人が多いね。対策は「データの取り込み」機能で列ごとにテキスト指定するか、拡張子を.txtにしてテキストウィザードから開く方法があるよ。実はこの問題は科学論文でも深刻で、遺伝子名「MARCH1」がExcelで「3月1日」に変換されて論文データが壊れる事例が多発して、遺伝子命名委員会が遺伝子名を改名したこともあるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「CSV」って出てきたら「カンマ区切りでデータを並べたシンプルなテキストファイルだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Comma-Separated Values」 = カンマで区切られた値
💬 カンマの代わりにタブで区切るTSVという仲間もいるよ
← 用語集にもどる