CSV(Comma Separated Values) ファイルは嫌いです。
「データ連携なんて JSON か悪くても XML でしょ?」って、 それはいまどきなウェブシステム開発の話。 ベタなシステム開発では未だに一般人でも扱いやすい(と勘違いされている) CSV が横行しています。
まぁ CSV ファイルを扱うに際して SE として最初にたたき込まれることは 「絶対に Excel で編集するな!」と言うこと。
ご存じの方も多いと思いますが、 Excel で編集すると電話番号などの場合、先頭の「0」が落ちたり、 クレジットカード番号など桁数の長い数字列は丸められてしまうなど、 保存するだけで勝手にファイルの内容を書き換えてしまうためです。
しかし、Excel の恐るべし機能はこれだけではなかった。。。
先般、開発に関わったシステムで「 CSV ファイルの読み込み時にエラーが出る」との問い合わせがあり、 そのエラーが出たというファイルを見てみると、 途中から値の入っていないところでカンマが終わっていて、 「ファイルを分割して各個で Excel で編集してつなぎ合わせたな」 と思ったのですが、そんなことはやってないと。
よくよく調べると 上記のドキュメント に 行き着いたわけです。そこには驚きの記述が…
Excel で保存した CSV 形式のファイルをメモ帳等で開いた場合、 17 行目以降においてカンマが全て表示されない等の現象が発生する場合があります。とどめは以下の恐るべし殺し文句が…
「 この現象は Excel の仕様による動作になります。」
恐るべし Microsoft Excel 。 いや真に恐るべきは仕様と言いきる Microsoft か orz
いや真に恐るべしは Microsoft でも Excel でもなかった。。。
この一件の発端となった問い合わせ元の工事部門(技術屋さん)にこの結果を伝えると、 「 CSV は十人に聞けば十人、Excel で編集しますよね? それで編集したファイルが読み込めないなんてシステムが…(以下略)」という 私が SE になってたたき込まれた知識を粉々に打ち砕く発言が… 気をつけよう自分の常識、他人の非常識 orz
ちなみに、これは Excel 2003 までの仕様で、 2007 以降では発生しません。 Office もちゃんと良くなってるんですねぇ。。。 (使わざる得ないのなら)ちゃんと新しいもの使いましょう (^^;;;>
Office 2007 以降のリボンインターフェイスやだという方には、 下記のようなカスタマイズもできます。
「 “ Office 2010 ”に対応した『 Office 2007-2010 オールドスタイルメニュー 』」 ( 窓の杜 より)