はじめに
CSV、パソコンを使って何かしらの仕事を行う方は聞いたことが、もしくは扱ったことがあるファイルの形式かと思います。
私の職場でもよく見かける形式ですが、みんながなんとなーく使っているだけで、その意味というか、どんなファイルなのかなんて基本的には理解していないように思います。
そんななんとなく使っている人に向けての解説にしたいと思います。
CSVとは
CSVってExcelで開くやつでしょ?
皆さんの認識ってこうじゃないですか?
まぁ間違ってはいないんですよ。
確かにCSVはExcelを使って開くことが多いです。
なぜならCSVの形式が、Excelと相性がいいからです。
でも相性がいいからExcelで開くだけで、別にCSVとExcel自体に強いつながりがあるわけじゃないです。
そもそもCSVってなんなの?
そもそもCSVという名前が表す意味を知っていますか?
CSVというのは『Comma Separated Values』の頭文字を取ったものです。
Comma は コンマ、とかカンマとか呼ばれてる記号のことで
,
↑これです。
Separated は日本語にすると『分割された・区切られた』みたいな意味です。
Values は『値』です。
ということは繋げて解釈すると、
『,
←このコンマっていう記号で区切られた値』
ということになります。
……と聞いても多分よくわからないですよね。
ということでCSVファイルを一度メモ帳で開いてみましょう。
ファイルのアイコンがこのようになっている方はそもそもCSVファイルをExcelで開くようにパソコンが覚えているので、普通にダブルクリックするとExcelで開かれると思います。
これをExcelではなく、今回のみメモ帳を使って開きたいときは、次の2つの方法があります。
- ファイルを右クリックして『プログラムから開く→メモ帳』と選択
- メモ帳を開いておき、そこにファイルをドラッグ&ドロップする
①の方法でやろうとしてメモ帳がない場合は②でやるといいかもしれません。
本来のCSVの姿
さて、メモ帳で手元にあるCSVファイルを開くとこんな感じになりました。
よく見てみると、ヘッダ行とか点数などが先ほど説明したように,
で区切られているのがわかると思います。
これが本来のCSVファイルの姿なのです。
なんか、ちょっと見にくいね。
Excelで見るCSV
じゃぁいつものExcelでみている、あの表みたいな形式は?
先ほどのメモ帳で開いた本来のCSVの姿と見比べてみてください。
コンマでセル間が区切られていることがわかりませんか?
そうです。
Excel側もCSVのことをよく知っているので、勝手にコンマでセルを分けて見せてくれているわけです。
CSVファイルを見る時、人間が見るにはCSV本来の形では見づらいので、Excelで開くことで見やすい形にしていたんですね。
Excelを使うと都合がいいからいつもExcelで開いていたんだね。
ExcelファイルとCSVは何が違うの?
先ほど見てもらったようにCSVファイルはコンマで区切られただけのテキストファイル(文字情報を扱うファイル)です。
でも、Excelで表示した時に普通のExcelファイルのようにきれいに見えるので、今度はExcelファイルとCSVファイルは何が違うのかよくわからなくなってしまったかもしれません。
拡張子の違い
CSVファイルとExcelファイルでは拡張子が異なっています。
拡張子を見ればこれが何のファイルであるかを知ることができます。
中身の違い
CSVファイルをExcelで開くといい感じに見れることはわかりましたが、逆はどうでしょうか?
Excelを開き、適当なファイルを作って保存し、メモ帳で開いてみてください。
Excelファイルはそもそもメモ帳で開かれることを想定していないので、右クリックの『プログラムから開く』メニューにメモ帳は無いと思います。
メモ帳を開き、そこにドラッグ&ドロップして開きましょう。
これは先ほどと同じデータをExcelで保存し直しただけのものなのですが、見事に文字化けして何がなんだかよくわからないデータになっていますね。
つまりCSVファイルはExcelでいい感じに見れますが、逆にExcelファイルをメモ帳でまともに見ることはできません。
この段階で、CSVファイルとExcelファイルはやっぱり違うんだ、ということは感じ取れたと思います。
他にも、Excelでデータに色を付けたり、文字のサイズを変えたり、セルの幅を変えたりなどの変更を色々した後に、『名前を付けて保存』からCSVファイルを選択して保存してみましょう。
そしてExcelは一回閉じて、再び今作ったCSVファイルをExcelで開いてみましょう。
せっかく編集した色やフォント、セル幅などの情報がすべて失われていると思います。
先にも言いましたが、CSVファイルはただの文字の情報です。
文字がコンマで区切られている、ただそれだけです。
それ以上の情報は持ちません。
そのため、いくらExcelでいろいろな加工をしても、CSVファイルとして保存すると文字の情報以外は全て失われるのです。
じゃぁCSVよりもExcelファイルで保存したほうがいいんじゃ…
じゃぁExcelファイルのほうが優秀か?
それなら、フォントやセルについての情報がもてるExcelファイルのほうが優秀なのでしょうか?
そうでもありません。
確かに、そういった情報が多いぶんExcelファイルのほうが情報量が多いのは事実です。
でも、情報量が多いということは、そのぶんファイルのサイズが大きくなります。
また、フォントやセルについての情報は人間が目で見る分には大切な情報ですが、コンピュータが使うときにはただの邪魔な情報です。
そのため、プログラムに何かしらの仕事をしてもらうときには、必要な情報はCSVファイルのようなシンプルなデータで渡したりします。
目的次第、ってことですね。
ツールからデータ出力した時によくCSV形式で出力されるのは、プログラムが扱ったデータだからなんだね。
似てるように見えるかもしれないけど、実際は全然別のものだから、どっちが優秀とかそういう問題じゃないんだよね。
おわりに
以上、CSVファイルについてよくわからない方に向けて解説しました。
まとめ
- CSVファイルはコンマという記号で区切られただけの、ただの文字のデータ
- CSVファイルはシンプルでExcelもCSVのことはよく知っているので、いい感じに見せてくれる
- CSVファイルは文字以外の情報を持たないので、Excelで色を付けても保存されない
- CSVファイルはシンプルで軽量なのでプログラムに好まれる