CSVとExcel:どちらを使うべきか
それぞれの形式が持てるもの、変換で失われるもの、使い分けの基準。
CSVもExcelも行と列を保存し、Excelはどちらも開けるので混同しがちです。しかし両者は別の仕事のために作られていて、選び間違えることが表計算のトラブルの大半の原因です。
それぞれの形式とは
CSV(カンマ区切り値)ファイルは単なるテキストです。1行が1件で、値をカンマで区切ります。書式も数式もシートも色もありません。どんなプログラムでも読める、それこそが存在意義です。
Excelブック(.xlsx)は、値、数式、書式、複数のシート、グラフ、フィルター、データ型を保存する構造化されたファイルです。人がデータを扱うためのもので、開くには表計算ソフトが必要です。
比較
| CSV | Excel(.xlsx) | |
|---|---|---|
| 数式 | なし、値のみ | あり |
| 書式と色 | なし | あり |
| 複数のシート | なし、1ファイルに1つの表 | あり |
| 先頭のゼロや長い数字 | ファイルには残るが、Excelで開くと消えがち | 文字列として保存すれば残る |
| どのソフトでも開けるか | 開ける | 表計算ソフトが必要 |
| 取り込みツールでの受け付け | ほぼ常に可能 | ときどき |
| 大量データでのファイルサイズ | 小さく単純 | 圧縮されていて書式も扱える |
CSVを使うのはこんなとき
- メール配信ツール、CRM、会計ソフト、ネットショップ、データベースなど、別のシステムに取り込むとき。
- 開発者やスクリプトにデータを渡すとき。
- データが1つの単純な表で、どこでも開ける必要があるとき。
ブックはExcelをCSVに変換するツールで変換できます。シートごとにCSVを書き出し、日付をどのシステムでも読める形式で書き出します。
Excelを使うのはこんなとき
- 人がデータを読み、編集し、絞り込み、グラフにするとき。
- 数式、複数のシート、書式が必要なとき。
- 開いても消えてはいけない先頭のゼロ付きのコードがあるとき。
書き出したデータはCSVをExcelに変換するツールで正式なブックにできます。コードを文字列のまま保ち、区切り文字も自動で判別します。
CSVに変換すると失われるもの
数式は現在の値になり、書式は消え、各シートは別々のファイルになります。取り込みツールが求めるのはまさにその形であることが多いのですが、あとで編集するなら元のブックは残しておいてください。
ヨーロッパのカンマ問題
ヨーロッパの多くの国ではカンマが小数点なので、現地のExcelは値をセミコロンで区切ったCSVを保存します。そのためカンマ区切りのCSVは1列に詰まって開き、セミコロン区切りのCSVはカンマを想定した取り込みツールを混乱させます。どちらの変換ツールでも区切り文字を選べ、CSVをExcelに変換するツールは自動で判別します。
JSONは?
データをウェブサイト、アプリ、自動化ツールに入れるなら、開発者が求めるのはJSONであることが多いでしょう。CSVをJSONに変換するツールは、見出し行をプロパティ名にします。