会社の売上管理システムや顧客データベースからデータをダウンロードする時、エクセルファイル(.xlsx)ではなくCSVという形式で保存されることが多いですよね。
アイコンの見た目はエクセルとそっくりなのに、開くと文字化けしていたり、ゼロから始まる社員番号のゼロが消えてしまっていたりして、イライラした経験があると思います。
この記事では、データ処理を扱う上で絶対に知っておくべき、CSVとエクセルの決定的な違いを分かりやすく解説します。
CSVとExcelの決定的な違い
エクセルファイル(.xlsx)は、文字の大きさやセルの色、罫線、計算式といった「見た目を装飾するための情報」がたっぷり詰まった、お化粧をしたデータです。
人間が見てわかりやすい反面、ファイルサイズが重くなりやすく、エクセルという専用のソフトがないと正しく開くことができません。
一方のCSV(シーエスブイ)は、カンマ区切り(Comma Separated Values)の略で、文字と数字だけがカンマ( , )で区切られて並んでいるだけの、すっぴんのテキストデータです。
セルの色も計算式も一切含まれていないため、データが非常に軽く、メモ帳をはじめとする世界中のあらゆるソフトで開くことができます。
なぜシステムからはCSVが出力されるのか
企業のシステムがエクセルではなくCSVでデータを出力する理由は、システム同士のやり取りにおいて最も軽くて確実だからです。
BIツールにデータを読み込ませる時や、別々のシステムを連携させる時、見た目の装飾情報はただの邪魔なノイズになります。
文字と数字の羅列だけで構成されたCSVは、機械(コンピューター)にとって最も読み書きが速く、エラーが起きにくい理想的なフォーマットなのです。
CSVの文字化けやゼロ落ちを防ぐには
すっぴんのCSVを無理やりエクセルでダブルクリックして開くと、エクセルが気を利かせて「00123」という文字を勝手に「123」という数字に変換してしまいます。これがゼロ落ちの原因です。
また、文字のコード(文字コード)の違いによって、日本語がすべて解読不能な記号になってしまう文字化けも頻繁に起こります。
これらを防ぐためには、CSVを直接エクセルで開くのではなく、KNIMEのようなデータ処理ツールを使って正しく読み込むのが一番の解決策です。
KNIMEのCSV Readerノードを使えば、文字化けを直す設定や、ゼロを残したまま読み込む設定が簡単にできるため、システムから吐き出されたデータを安全に前処理(クレンジング)することができますよ。
