CSVはExcel(エクセル)で開くなgPadを使え

PCトラブル

皆さん、CSVデータの扱いどうしてますか?
まさか、エクセルで開いてませんよね・・・・

膨大なデータをダウンロードするとき、CSV形式のファイルでダウンロードすることが多いですよね。
GoogleアナリティクスのデータなんかもCSVでダウンロードできますよね。

CSVファイルはエクセルで関連付けできるので、アイコンをダブルクリックでエクセルで開いたりします。
しかし、エクセルで開くと不都合なことが起きたりします。

そこで、私がおすすめするのが「gPad」というエディタです。
フリーで使えるので無料です。(Windows版のみ)
※Macの人は一番下までスクロールしてもらえれば、別のアプリを紹介してます。

スポンサーリンク

CSVってなんですか?

CSVってそもそも何やねんって人のために、簡単に説明すると、

CSVとは、Comma Separated Valueの略で、Comma(カンマ)で Separated (区切った)Value(値)です。
拡張しは.csvになっていると思います。
メモ帳で開くと以下な感じ
気象庁の天気データなんですけども、データの区切りが(,カンマ)で区切られてるのがわかると思います。そして、非常に見にくい・・・
ちなみに、同じファイルをエクセルで開くと以下な感じ
マス目にカンマ区切りのデータが入るので見やすいですね。こうのように見えることから、エクセルで開く人が多い。
スポンサーリンク

CSVをエクセルで開くデメリット

上のようにカンマ区切りのデータがマス目に入るので見やすいのでが、データによっては困ることがあります。

例えば、以下のようなことが起こります。

左がメモ帳、右がエクセルで同じCSVファイルを開いた状態です。
見ての通り、エクセルだと先頭の「0」が消えてしまい、日本語が文字化けしてます。
このような状態でもエクセルで保存しなければ、「0」は消えてなかったりするのですが、ファイルを開くということは、何かしらデータを追加や削除などの加工するために開いていると思います。このまま保存してしまうと、「0」が消え、文字化けしたまま保存されます。

そのような状態だと、別のシステムにデータを取り込む際にエラーになったりしますよね。

なぜ、文字化けするのか

エクセルで先頭の「0」が消えてしまうのは、エクセルを使い慣れている人は知っていると思います。なぜ、文字化けするのか・・・

エクセルは基本的に文字コードが「Shift_JIS」です。なので、「Shift_JIS」以外の文字コードで書かれている文字は判別ができなくなり、文字化けするのです。

ちなみに「Power Query」などを使えば、文字コード「UTF-8」のCSVでも文字化けせず開くことができるのですが、今回の話とは別になってくるので、知りたい人は「Power Query 使い方」などで検索してみてください。

スポンサーリンク

gPadでエクセルのように見える

前置きと解説が長くなりましたが、本題です。「gpad」というエディタをご存知でしょうか。
多機能なタブ切り替え型のテキストエディターなんですが、
こちら、

CSV/TSVファイルを表計算ソフト風の見た目で編集できるモード、文字列入力の手間を軽減できる入力補完といった多彩な機能を備えてます。
見た方がはやいので、以下をいて下さい。
先のCSVデータをgpadで開いた状態です。エクセルのようにマス目で見える上に「0」が消えたり文字化けしたりしていません。
使い方も簡単で、ツールバーにある、アイコンをクリックするだけで、マス目表示とマス目なし表示の切り替えができます。(CSVとTSVに対応してます)

ダウンロードはこちらから

gPadを使う際の注意点

画像を見てもらうと分かると思いますが、「カンマ」も表示されてますので、このカンマを消してしまうとデータの区切りがなくなってしまうので注意してください。

また、データを追加する場合は、カンマの区切りをちゃんと付けないとデータがぐちゃぐちゃになってしまいます。

macでも使えるCSVを開くアプリ

gPadは非常に便利なんですが、Windowsにしか対応してません・・・
macやLinuxを使っている人には関係ない話でした。でもご安心をmacやLinuxでも使えるアプリあります。

フリーランスエンジニアのMasaki(@plus_one_masaki)さんは6月18日、表計算ソフト「Microsoft Excel」風のUIで操作できるCSVエディタ「CSV+」のプレビュー版を、自身のWebサイトで無償公開してます。

ShiftJIS や UTF-8 をはじめとした、 様々なエンコーディングに対応してますので、文字化けの心配もありません。