10年以上前に作ったデータで、今でも現役で使っているファイルってあるでしょうか。もちろん、同じ仕事を10年以上続けていれば、そうしたデータもあることでしょう。しかし、データだけがあっても、それを読み書きするアプリケーションがなくなっては元も子もありません。OSはどんどんバージョンアップしていきますので、最新のOSでも常に、そのデータを読み書きするアプリケーションがなくてはなりません。そうして考えると、10年以上前に作ったデータが今も使えるというのは、とても汎用的な形式であることが分かります。

 今回は、汎用的なデータ形式の中でも、特に長い年月を生き残っているデータ形式のCSV形式を紹介します。というのも、先日の本連載で、Node.jsでライブラリの作り方を示したときに、簡単な例としてCSVファイルの読み書きを行うプログラムを紹介したのですが、「もっと詳しくCSVライブラリの使い方を知りたい」と問い合わせがあったのです。

時代を超越して汎用的なデータフォーマット「CSV」

 確かに、CSVファイルの使い勝手の良さというのは、時代を超越しています。何かしらデータを扱うアプリケーションでは、大抵、CSVファイルの読み書きに対応しています。Excelなどの表計算ソフトは当然のこととして、名簿管理ソフトや会計ソフトにもその機能が備わっています。そして、Webアプリのアクセスデータや売上レポートなどもCSVファイルで出力できるものが多くあります。

 CSVファイルとは、カンマ区切りデータ(Comma-Separated Values)のことを意味します。列と行という2次元の概念があり、列がフィールドを、行が個々のデータを表します。そして、列をカンマで区切り、行を改行で区切ったものです。

 簡単なCSVファイルの例を示しましょう。以下は、あるお店の顧客名簿を想定しています。


顧客ID, 名前, Eメール, 電話番号, 郵便番号
1001, 山田一郎, y1ro@example.com, 000-111-2222, 105-0014
1002, 鈴木一郎, s1ro@example.com, 000-111-1111, 105-0014
1003, 佐藤一郎, st1@example.com, 000-111-3333, 105-0014

 ちなみに、上記CSVファイルをシフトJISコードで「meibo.csv」という名前で保存して、Excelで開くと次のように表示されます。

上記CSVファイルをExcelで開いたところ
上記CSVファイルをExcelで開いたところ
[画像のクリックで拡大表示]

 データのフィールドの区切りがカンマであり、1件ずつのデータの区切りが改行であるという、非常に簡単な構造です。CSVファイルが汎用的であるという理由は、このシンプルなデータ構造にあります。