コラムバックナンバー
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/04/11(木)
オンラインセミナー「GA4レベルアップ!「探索」徹底解説と「BigQuery」活用法」|2024/4/11(木)
本ウェビナーは「GA4には少し慣れてきたが、まだまだ活用できていない」「探索を使いこなしたり、BigQueryとの連携活用にもチャレンジして …
2024/03/14(木)
オンラインセミナー「なぜ私たちは自ら生み出したKPIに追われるのか?」|2024/3/14(木)
本ウェビナーでは、マーケター、データ分析者、事業の意思決定者ら、専門家にとって有益な場となるよう、名著「測りすぎ――なぜパフォーマンス評価は …
2024/02/21(水)
オンラインセミナー「生成AI時代到来 今後のSEOのポイントを考える」|2024/2/21(水)
2023年は生成AI・SGE(Google Search Generative Experience)・Bardの登場、Bingの躍進など、 …
【コラム】車座分析のススメ サイト改善のよいタスクチームが組めるか?
アナリティクスアソシエーション 大内 範行前回は「広告予算再考」と題して「どんぶり勘定のススメ」について書きました。ただ、状況が悪化しているとはいえ、それでも広告は各プラットフォーム …
【コラム】ユニバーサルアナリティクス より自由度が高くなったことによる GA4 の弊害
株式会社JADE 村山 佑介こんにちは、株式会社JADEの村山です。過去にはa2iのセミナーで数回、Googleアナリティクス についてのセミナー等に登壇をさせていただ …
今回のテーマは、「【コラム】ポストCookie時代、AI時代? その前に、2024年は顧客理解の再定義を」の続きです。顧客理解を深めることで …