コラムバックナンバー

これを読んでいるのはデータにかかわる仕事をしている皆さんということで、誰もがCSVファイルを扱ったことがあるでしょう。データを他の人やコンピュータに受け渡す、あるソフトウェアで保存したデータを違うソフトウェアで開く、そんな時に使います。

今回はこのCSVファイルを扱う上で知っておかなければならないことを紹介します。意外とテクニカルにもかかわらず誰もが扱うことのある形式で、知らずに躓くことが多いです。永久保存版の説明記事として役立てていただければ幸いです。

■CSVファイルとExcel

CSVファイルはおなじみのExcelでも開けますが、これはテキストファイルなので他のどんなソフトウェアでも開ける形式です。

一方で同じExcelで編集できるファイルでも拡張子が.xlsxになっているのはExcelなど一部のソフトでしか開けないものです。参考までにこの中身はzipファイルで、解凍ソフトを使えば解凍ができてしまいます。

Excelでしか開かないのであればxlsxで保存してもいいのですが、Excelでは扱いきれない大きなデータを別のソフトで開く場合などでは、xlsx形式では困るのです。たとえばMySQLなどのデータベースソフトではxlsxは扱えませんが、CSVであれば扱えます。

CSVファイルはサイズの大小を問わずデータを保存し、さまざまなソフトで開く。そのままテキストとして人間が読んで中身を確認することも可能な、汎用的にデータを扱うのに適した形式なのです。

■テキストの文字コード

CSVファイルを含むテキストファイル一般で考慮しなければならないのは文字コードと改行コードです。人間からの見た目が同じテキストでも、コンピュータ内部では異なるデータの保持の仕方をする場合があり、その代表的な設定が文字コードと改行コードなのです。同じ「あいうえお」という日本語5文字を書いたテキストを保存する際も文字コードが違うと実際には全然違うファイルになっています。

代表的な文字コードに「Shift-JIS」(SJIS)「UTF-8」があります。

UTF-8は最近メジャーで、LinuxやMacで主流になっている形式です。これは日本語や中国語、ヘブライ語など世界各地のローカル文字を世界共通で扱えるようにするために新しく作られた形式です。

Shift-JISは古くからWindowsやMicrosoftのソフトウェア(MacのMS Officeも)で使われてきた形式で、今でもWindowsのソフトウェアで保存するテキストファイルはこの形式であることが多いです。日本でしか使われない形式です。
※アドバンストな方のために、厳密にはWindowsで使われているのはSJISの亜種であるCP932という文字コードで、ほとんど同じですが一部異なるものです。SJISだと思っていたテキストをSJISとして開くとエラーが発生することがごくまれにあり、その場合はCP932として開けばうまくいきます。

ExcelでCSV形式を指定して保存するとSJIS形式で保存されます。そのCSVファイルをMacのソフトでUTF-8だと思って開くと文字化けが発生することもあるというのはこの文字コードの違いによるのです(最近は文字コードを自動推定して文字化けが起こらないように開くケースが多いですが)。

■改行コード

改行もコンピュータの内部では文字として扱われています(制御文字)。この改行コードも主にOSによって3パターンあります

– CR(キャリッジリターン:現在単体で使われることはない)
– LF(ラインフィード)
– CR+LF(上のCRとLFを組み合わせて使う)

文字化けが起こることはなく、CSVファイルとして扱う場合は気にしなくていいケースがほとんどですが、サイズの大きいデータを扱うソフトではCSVファイルを読み込むときの設定でどれを改行コードとして使っているかを明示的に指定を求められるケースがあります。プログラムのソースコードではこれが文字コードが混在しているとエラーになる場合があります。

Windowsは「CR+LF」、MacとLinuxは「LF」が使われます。WindowsとMacとでは前提としている文字コードや改行コードが違うので、お互い配慮するようにしましょう。

■区切り文字

CSVは「character-separated values」つまり「特定の文字で区切られた値」のことです。区切り文字にはカンマが使われることが多いですが、タブ区切りでもいいのです。タブ区切り形式はExcelではそのまま開けませんが、テキストエディタで開いてコピー&ペーストでExcelに貼り付けたときに意図した通りセルに収まる利点があります。データベースや統計ソフトで開くときも、区切り文字としてカンマでなくタブを指定することができます。

CSVファイルにも形式の違いがあり、特にサイズの大きいデータを扱うケース(データベースやDWH、RやPythonなどのプログラム)では意識が求められる機会が増えます。これらの違いを意識し、取り扱いを間違えないようにしてくださいね。

コラム担当スタッフ

柳井 隆道

Option合同会社
代表社員
マーケティングテクノロジスト
marketechlabo

東京大学を卒業後、webマーケティングやサービス企画、システム開発などに従事。
デジタルマーケティングの世界に落ち着き、事業会社、広告代理店を経て2014年に独立。
現在は大小さまざまの事業会社、広告代理店などに対して、テクノロジー観点からデジタルマーケティングの支援を行っている。データ計測の設計、実装から分析、マーケティングオートメーションや広告運用などの施策との連携まで扱う。
さまざまな規模の経験から、企業の身の丈にあったデジタルマーケティングの企画に強い。フリーランスで活動していたが、2017年から法人化。

一つ前のページに戻る

a2i セミナー風景イメージ

あなたも参加しませんか?

「アナリティクス アソシエーション」は、アナリティクスに取り組む皆さまの活躍をサポートします。会員登録いただいた方には、セミナー・イベント情報や業界の関連ニュースをいち早くお届けしています。

セミナー・イベント予定

予定一覧へ

コラムバックナンバー

バックナンバー一覧へ