コラムバックナンバー
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年から法人化。
2025/04/16(水)
オンラインセミナー「【GA4&GTM完全攻略】それ計測したかった!を叶えよう」|2025/4/16(水)
GA4とGTMの正しい設定方法を基礎から実践まで徹底解説します。 GA4導入時に押さえておくべきポイントや、イベント設定・カスタムディメンシ …
2025/03/26(水)
オンラインセミナー「GA4はもう難しくない!最新機能と改善ポイントを徹底解説」|2025/3/26(水)
「GA4は使いにくい」と思っていませんか? それはもう過去の話!最新アップデートで、GA4はより直感的で便利な解析ツールへ進化し、ユーザーの …
2025/03/05(水)
オンラインセミナー「あの会社はこんなに伸びた!新規受注額2倍&年間受注額3倍の刃物メーカー、平均受注金額5倍のウェブ制作会社の事例」|2025/3/5(水)
2021年は刃物メーカーの1人担当者さん、2022年には小さな制作会社さんの事例を紹介しました。あれから2~3年たっても着実に成長されていま …
【コラム】電通の「日本の広告費」レポートに見る、デジタル認知広告の時代と効果測定の新しいカタチ
アナリティクスアソシエーション 大内 範行電通が今年2月末に恒例の「2024年 日本の広告費」を発表しました。皆さんにとっては、予想した驚きのないレポートかもしれません。 ただ、私は …
今回はタイトルの通りですが、GTM(Googleタグマネージャー)のあるあるを言っていきたいと思います。 前提として「どんな人が言っているの …
【コラム】プライバシー保護と法律 この山は面倒ですが登り始めましょう
アナリティクスアソシエーション 大内 範行ここ数年で個人情報保護などプライバシー保護の法律面の理解を深めて、いくつかのプロジェクトに関わるようになりました。 今では法律理解は、マーケ …