Hatena::ブログ(Diary)

Casual Startup - MBA卒プログラマの起業日記

2018-03-27

おすすめCSVエディター: LibreOffice Calc

コンピュータを使う作業をしていると、CSV(Comma Separated Values)ファイルに出くわすことがあります。一般的なWindows環境でこのCSVファイルをダブルクリックすると、Excelが立ち上がるのですが、以下のような点で不便です。

  • しばしば文字化けしたり、セルの位置がずれたり、電話番号の先頭のゼロが抜けたりする。
  • これを防ぐために、Excelを起動しておいてから「外部データの読み込み」機能を起動するという操作が、いちいちやるには面倒。
  • Excelで読み込んだCSVファイルを保存すると、フィールドを勝手にダブルクォートで囲ったり、変更したつもりのない箇所が変更されてしまう。

こんなCSVファイルの閲覧・編集ですが、自分は、ここ10年ほどLibreOffice Calcを使い続けています(10年前は前身のOpenOffice Calcでしたが)。LibreOfficeの公式サイトはこちら。https://www.libreoffice.org/

Calcは、以下のような点で便利です。

  • CSVファイル読み込み時に、毎回、文字コードや各フィールドの形式を選択するダイアログが出てくる。
  • セル内改行があっても正しく読み込める。
  • VLOOKUPやピボットテーブルのような、表計算ソフトの機能が使える。
  • Windows, MacOS, Linuxに対応している。

以下、詳細です。

Windowsでは、LibreOfficeをインストールした状態でCSVファイルを右クリックすると、「プログラムから開く」でCalcを使ってファイルを開くことができ、しかもこのとき必ず、文字コードや、各フィールドの形式(テキストか、数値かなど)を選択するダイアログが出てきます。

ちなみにExcelは、Shift JIS決め打ちでオープンしてしまいます。厳密にはShift JISではなく、Officeの言語バージョンごとに決まっているデフォルトのエンコーディングが使われるので、台湾版ExcelだとBig5決め打ちだったりして、海外と仕事をするときにCSVファイルを送ると、文字化けの仕方が異なって苦労させられたりします。

また、Excelはセル内改行があるとそこから次の行に送ってしまい、結果として列がずれるという現象が発生することがあります。自分が実際にこの問題に遭遇したのは、勘定奉行で作成した、摘要欄に複数行のメモが入っているCSVファイルでしたが、LibreOffice Calcは、これも正しく読み込んでくれました。

専用のCSVエディターもいくつか試したのですが、純粋なプログラミングだけでなく、いわゆる「業務」と言われるような、ECサイトからエクスポートした日次売上を集計するなどの作業にも使おうとすると、VLOOKUPやピボットテーブルが欲しくなるため、結局、LibreOffice Calcを使い続けています。また、LibreOffice Calcは、Excelと似たUIなので、非エンジニアにも使ってもらいやすいというメリットもあります。

LibreOffice Calcを使い込んでくると、メニューの配置がExcelとちょっと違う(例: 行と列の固定はWindowメニューではなくViewメニュー内、ピボットテーブルはInsertメニューではなくDataメニュー内)、機能が若干不足する(例: ピボットテーブルのソートに集計した結果を使うことができない)という不便も無くはないのですが、今のところ、CSV閲覧・編集に関する10年来の信頼をくつがえすほどではありません。また、どうしても困ったら、Calcで開いたあとにxlsx形式で保存し直して、あとはExcelで作業するという方法もあります。

というわけで、CSVファイルの閲覧・編集で悩んでいる方にはLibreOffice Calcをおススメしています。

CSVエディターとしてのLibreOffice Calcについて、画面キャプチャ入りの解説がいくつかあったのでURLを紹介しておきます。

https://qiita.com/arachan@github/items/1f302618f0b426f4a60a

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0363