コラムバックナンバー
Option合同会社 柳井 隆道
発信元:メールマガジン2019年5月22日号より
これを読んでいるのはデータにかかわる仕事をしている皆さんということで、誰もが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などのプログラム)では意識が求められる機会が増えます。これらの違いを意識し、取り扱いを間違えないようにしてくださいね。
東京大学を卒業後、webマーケティングやサービス企画、システム開発などに従事。
デジタルマーケティングの世界に落ち着き、事業会社、広告代理店を経て2014年に独立。
現在は大小さまざまの事業会社、広告代理店などに対して、テクノロジー観点からデジタルマーケティングの支援を行っている。データ計測の設計、実装から分析、マーケティングオートメーションや広告運用などの施策との連携まで扱う。
さまざまな規模の経験から、企業の身の丈にあったデジタルマーケティングの企画に強い。フリーランスで活動していたが、2017年から法人化。
2024/07/24(水)
オンラインセミナー「GTMでSPAの計測を行うために必要な基礎知識 ~よくある問題と解決策~」|2024/7/24(水)
Webサイトで提供する機能の高度化に伴い、Webサーバの処理軽減や高速化を目的として、JavaScriptフレームワークを利用したSPA ( …
2024/07/10(水)
オンラインセミナー「GA4エキスパートのイチオシ分析手法解説 ~ 柳井さん直伝 AIと広告連携 ~」|2024/7/10(水)
今回のGA4イチオシ分析手法では、実際の企業事例を取り上げます。 最初の問い合わせがオンラインで発生し、最後の成約はオフラインになるケースで …
2024/06/26(水)
オンラインセミナー「【スタートアップと地方企業のCRM活用事例】測りすぎ?測れてない?どっちでもいいからデータを使って売上アップを!」|2024/6/26(水)
■□ お知らせ □■ 一般の方も無料となりました 当セミナーは、当初一般の方は有料でしたが、無料でご参加いただけることとなりました。 データ …
ある日、運営堂の森野さんから下記のメールが届きました。 「a2iでコラムをお願いできないでしょうか? という連絡です。代表の大内さんからの依 …
少し前、a2iの「ひとこと茸」で、デジタルマーケティングのダッシュボードについて取り上げました。続いて書かれた渋谷さんのコラムも併せて、じっ …
株式会社ナンバーの渋谷と申します。アナリティクスアソシエーションの運営を担当しており、今回のメルマガを担当いたします。 先日a2iのミニコン …