CSVとは?データ交換・分析に特化したフォーマットを解説

2019.08.28

Excelなどの表計算ソフトを使ったことがある方は、保存形式に「.xlsx」以外に「.csv」と表示されているのを見たことがあるはず。「.csv」は昔からあるファイル形式であり、意識しなくても自然と使っていることが多いファイルの一つです。

この記事では、CSVの概要や取り扱う際の注意点、CSVを使うことによって可能になることを中心に説明します

CSVとは?

CSVは「Comma Separated Value」の略であり、データをカンマやタブなどで区切るフォーマットを採用しているファイルです。

アプリケーション間のデータ交換用として2005年に策定され、2019年現在でデータ交換用ファイルとして最も普及しているファイルです。Excelやデータベースソフトを中心に長い期間使われ続けており、データ交換用ファイルの代名詞としてエンジニアやデータサイエンティストに広く知れ渡っています。

この章ではCSVの概要について説明します。

Excelの.xlsxや.txtなど類似ファイルとの違い

Excel

CSVはメモ帳などテキストエディタで開くと文字列を「りんご, みかん, ぶどう……」などカンマやタブで区切られてデータを列挙して書くという独特のフォーマットをしていることを確認できます。コンピュータでデータを管理するという観点からいえば合理的な作りですが、人間の目には見づらく感じてしまいますね。

ソフト開発者も見づらいという点は認識しており、ExcelやCSV編集専用ソフトで開くとデータが列挙されているのではなく、表形式で表示されます。ExcelでCSVファイルを開いて編集したことがある方はご存知かも知れません。

また、Excelの規格である.xlsxファイルと比べると10分の1程度のファイルサイズのため、データ交換用ファイルとして重宝されています。ファイルサイズが小さいため、膨大なデータをデータベースソフトに取り込む、逆にデータベースで管理されているデータをCSVファイルとして出力するとき、短時間で作業完了できる点がデータ交換用ファイルとして普及しているポイントです。

拡張子に.csvが使用されるため、WindowsのエクスプローラーやMacのFinderでは「ファイル.csv」と表示され、ダブルクリックすると関連付けられたソフトで開かれます。これはOSの設定で変更可能です。初期状態では、ExcelがインストールされているのであればExcelで開くように設定されているケースが大半でしょう。

CSVはテキストエディタで作成することが可能ですが、カンマやタブ区切りという性質上、作りづらく感じるはずです。多くはExcelを使って作成するケースが多いと思われますが、CSVをExcelと同じく表形式に表示してくれるフリーソフトも存在します。代表的なものではWindows専用ソフト「gPad」が挙げられます。gPadをはじめとするCSVをグラフィカルに表示してくれるフリーソフトを導入するとExcelを使用せずにCSVを作成する場合の難易度が格段に下がるため、重宝するでしょう。

Windows専用ソフトgPadはこちらからダウンロードできます。

CSVが誕生した背景

PC操作

CSVが誕生する前のコンピュータでは、データベース内に作成されるテーブルといったデータ構造や表計算ソフトにおける表のデータが、ソフトウェア独自のフォーマットで保存されているために別のソフトウェアに対して互換性がなく、データの移行がとても行いづらい環境にありました。

そこで誕生したのがCSVです。CSVは前述したようにデータ交換用のファイルであるため、使用しているソフトウェアがCSVの出力 (エクスポート) と読み込み(インポート) に対応していれば、異なるソフトウェア間でデータ交換が可能になりました

CSVの登場により、違うソフトウェアで同じデータを簡単に共有できるようになったことにより、CSVをサポートしていなかったソフトウェアもサポートするようになりました。Excelを代表とする表計算ソフトが流行りだしてからは、CSVはデータ交換用ファイルとしてよりメジャーな存在になったのです。

近年、CSVではなくXMLやJSON形式でデータ移行を行うパターンも出てきましたが、まだCSVで行う方法が根強く、CSVに取って代わるほど主流にはなっていません。いずれXMLやJSON形式がCSVのシェアを奪う日が来るかもしれませんが、現状を踏まえるとそれは当分先のことでしょう。

ExcelでCSVを扱う際の注意点

CSVの悩みどころ

CSVは主にExcelで使用する場合が大半ですが、CSVをExcelで開くとき、CSVに対して誤った解釈をする場合があるため注意が必要です。ここではExcelでCSVを扱う際の注意点を説明します。

ExcelでCSVを開く際の注意点

ExcelでCSVを開くときに注意しなければならない点は以下の通りです。

住所の番地などを表す「数値-数値」を日付として表示してしまう
「1-12-3」など住所の番地を示す値をExcelでは日付として認識してしまい、「2001/12/3」など日付として表示されてしまいます。

左側を0で埋めていると0が消える
CSVに「0001」などいわゆるゼロパディングしたデータを入力している場合、Excelで開くと左側の0が消えてしまいます。

大きな数値は指数として表示される
「111,111,111,111」など非常に大きい数値は「1.0E+1」など指数として表示されてしまいます。

CSVをExcelに取り込む際の問題を解決するには

Excelによる解釈の誤りを解決するには2つの取り込み方法が存在します。

一つは一時的に拡張子を.csvから.txtにしてから、カンマ区切りデータとして読み込み、そのままの表示にしたい列を文字列として取り込む方法。

もう一つがメモ帳などでCSVファイルを開いてからExcelへコピペして、区切り位置をカンマに指定する方法。

どちらも簡単にできるため、CSVをExcelに取り込む際に問題になったら試してみてください。

もしくはExcelでCSVを開かず、CSVを表形式で表示してくれるフリーソフトを使うという方法もあります。前述した「gPad」などがそうです。Excelとは異なってデータの解釈違いが発生しないため、拡張子を.csvから.txtに変えてから取り込むなどのテクニックも必要ありません。

用途によってCSV用フリーソフトとExcelを併用する方法もよいでしょう。1つのソフトにこだわるより使い分けるほうが作業効率向上を見込めるかもしれませんね。

ExcelからCSVへ出力(エクスポート)するうえでの注意点

Excelで作成した表をCSVに出力するときも注意しなければならないことが2点あります。

  • マクロや関数は保存できない
  • 色や罫線など装飾に関するものは保存できず、あくまでデータしか保存できない

Excelには関数で値を動的に導き出す、マクロを組んで自動化する、色をつけて装飾するなどが可能ですが、これらの機能はあくまでExcelのものであるため、CSVとして出力する際には失われます。なぜならCSVにはカンマ区切りやタブ区切りでデータを列挙するフォーマットであるため、プログラミングやグラフィカルな要素はサポートしていないからです。CSVはあくまでデータしか保持しません。

Excelの形式である.xlsxから.csvに変換したファイルをExcelで開くと装飾などが消えていてびっくりするかもしれませんが、不具合やデータが壊れたわけではなく、CSVの仕様なので覚えておきましょう。

CSVで何ができるのか?

前章でCSVの概要はつかめたと思います。では、CSVを使うことで一体どのようなことができるようになるのでしょうか?この章ではCSVの活用方法を説明します。

Pythonを用いた分析・加工

Python

2019年、現在とても盛り上がっているAIや機械学習などで必須になるのがデータ分析で、データ媒体としてCSVがよく使われています。

AIや機械学習では、プログラミング言語である「Python(パイソン)」が主に用いられており、Pythonで構築された分析プログラムの中にCSVを投入することでデータ分析を可能にしています。データ分析を行うことによって、AIの学習に役立てることが可能で、より高度な学習を行えるようになるなどさまざまな恩恵があります。

また、データ分析同様にデータの加工もPythonで動的に行なえ、組んだプログラミング次第で望むかたちのデータに加工して作成、出力することができます。

Pythonを使ったデータの分析や加工は、AIエンジニアやデータサイエンティストが主に担当して作業しており、今後の発展が期待される分野の一つです。

基幹システムへのアップロードやダウンロード

グラフ化

基幹システムとは企業が経済活動を行ううえで必須となるシステムで、販売や在庫管理など財務に関わる要素を扱います。企業の中心となるシステムのため、動作が止まってしまうと企業の経済活動自体がストップしてしまうため、綿密に設計されて構築されます。

そのような基幹システムでCSVがどのように扱われているかというと、基幹システムで管理している在庫管理データなどをCSV形式でダウンロードしてExcelで読み込んで人にわかりやすくグラフにする、基幹システム外で追加された販売データをCSVでアップロードして基幹システムに追加するといったデータの出し入れに使われます。

基幹システムは後述するBIツールやMAツールとも連携して運用する場合もあるため、CSVによるデータ交換はとても重要な要素です。

BIツールやMAツールをはじめとするアプリとのデータ連携

マーケティング活用

マーケティングで企業戦略や経営戦略を立てる上で重要な情報を取り扱うBI(ビジネスインテリジェンス)ツールやMA(マーケティングオートメーション)ツールでCSVはデータの元として重要な役割をはたします。

ほとんどのBIツールやMAツールは前日のバックアップデータをCSVとして保存しているため、今日と昨日を比較してどれだけ顧客数などマーケティングデータが蓄積できたか比較することが可能です。比較情報をデータ分析して傾向から今後の経営戦略を練る、グラフで視覚わかりやすく表示してプレゼンテーションの資料として使うなど幅広く使用されています。

BIツールやMAツールは営業が現場からWeb上に移り変わってきている昨今で、必要不可欠な存在になってきています。アメリカでは多くの企業が採用しており、日本でも普及が進んでいます。BIツールやMAツールが普及するにつれてCSVを使う場面も以前と比べて増えてきていて、CSVは営業やマーケティングなど企業活動で必須のファイルになりました。CSVを使わないで企業活動を行うことは不可能といってもいいでしょう。

データベースへのインポートやエクスポート

クレジットカード

CSVはAccessやOracle、MySQLなどデータベースにデータを読み込ませるときやダウンロードするときにも使用します。

データベースの多くは他のシステムと連携しているため、例えばExcelで作った顧客データをAccessに読み込ませて情報を管理し、さらにAccessと接続されているシステムで顧客データを利用するなどさまざまなことが可能です。例えば誠勝で2年以上にわたってCSV化の作業を代行している株式会社ふくまる様では、CSV化したスタッフ日報をデータベースにインポートし、日々の業務改善や連絡に役立てるという使い方をしています。

また、身近な例だとクレジットカードの履歴や銀行の入出金情報をWeb上からファイルでダウンロードする場合は、多くの場合でCSVファイルが使用されています。データをたくさん入れても容量が大きくなりにくいことからデータの作成やダウンロードに時間がかからないCSVは重宝されており、意外なところで日常生活にも浸透しているのです。

ビッグデータ分析用データセットとしてCSVが配布されている

マーケティングでの使用

政府統計データを取り扱っているポータルサイトであるe-Statから国税調査やここ100年間の男女別人口推移などさまざまな統計情報のデータセットをCSVでダウンロードすることが可能。

また、行政が保有するオープンデータを配布している政府CIOポータルでもビッグデータをCSVでダウンロードすることができます。

どちらも無料で使用できるため、マーケティングや研究などで詳細な統計情報が必要な方に重宝されているサイトであり、e-StatからダウンロードしたCSVをPythonで解析する、MAツールでマーケティング戦略を立てるために利用するなど幅広い用途で使われています。

e-Taxによる資料提出に利用できる

確定申告

確定申告で使用するe-Taxでは、CSVで勘定科目内訳明細書や財務諸表といった一部の書類を提出することができます。

これらはあらかじめe-Tax公式サイトにフォーマットが用意されているためダウンロードして編集し、提出するという流れになります。確定申告で使用したことがある方もいるかもしれませんね。

紙の情報をCSVに組み込むには『データ入力』

テキスト化で紙をデータに

既存の情報から現状を把握し、将来へつなげるためにもデータ分析はとても大事な仕事です。しかし、データ分析はコンピュータで行うため、情報媒体は電子媒体でないといけません

もし、データ分析などで使いたい情報がでしか残っていない場合は、スキャニングしたのち専用ソフトでOCR処理を施し、人間の目でOCRが誤認識したテキストデータを修正及び校正する必要があります。更に言えば、対象が手書き文字の場合はOCRすら難しく、最初から人の目と手で1文字ずつ入力することが求められます。

スキャニングからテキストデータの修正及び校正までの作業はノウハウがない会社が自社内で完結させようとすると大変です。非常に繊細で神経のいる作業になりますから、経験がない方が担当して作業を行うと誤字の見落としなどによる手戻りが多発して時間がかかってしまうでしょう。そのため、作業はプロにお任せすることをおすすめします。

例えば当ブログを運営する株式会社誠勝では、これまでこうしたCSV化の代行を多数承って来ました。過去の事例の一部をこちらで公開していますが、多くのお客様から聞かれたのは『時間を大幅に節約できた』『欲しかった情報を正確なCSVデータとして使うことが出来た』といった、時間と精度に関するメリットが中心です。このように、そもそも分析したい、使いたい情報がCSV化されていない場合には、外注業者にその入力作業を依頼することで、課題が解決されます。