仕事で使っているシステムでは、諸々の設定をGUIで行うのが標準になっているのだけど、ある程度大量のデータをやりとりするは、バッチ処理的な仕組みがほしい。 ベンダーに確認させたらCSV形式によるエクスポートとインポートがサポートされているという。 そこで、外部でスクリプトやエクセルなどにより、データ処理することを担当に検討させていた。 ベンダーも含めたミ−ティングの結果、CSV形式でエクスポートしたものをエクセルに取り込むとデータが化けてしまうので使えないと報告された。 どうも、言ってることが???なので、実際のデータと何をしたのかをヒアリングしたら、CSV形式ファイルをエクセルに読み込んで開くと数字列に対してゼロサプレッション(上位桁の無駄な0を省く)がされることが問題だということだった。 CSV形式のファイルのRawデータをテキストエディタで確認すると、きちとん上位桁の”0”も出力されているので、単純にエクセルというアプリに取り込む時の処理の問題であり、それは取り込み時に指定すれば解決できることを教えたのだが...こんなことさえ、何人もが雁首そろえて知らなかったというのは、ちょっとびっくりだ。 CSV形式のファイルは、Windows + Officeの環境では、デフォルトでExcelに関連付けされていて、さらに数値列はゼロサプレッションで取り込まれるので、単純にファイルをWindows上でクリックして開くとこういう現象になる。
さてさて、一連の問題は、CSV形式というのがどういうものかを把握していないことによる。 この結果、Rawデータを確認するとということができていないため、切り分けもできない。 様々なアプリケーションを、それぞれのインタフェイスを介して利用するのが圧倒的な現在、本当にRawデータがどうなっているのか、それをアプリがどう処理するのかというのは、どんどん見えづらくなっていて、こういうことが起きるのだろう。 組み込み系でも、高級言語でのソースデバッグ環境が当然となっているので、ちょっとハードで確認したり、レジスタを覗いたりすれば解決することが、なかなか解決しないことは多々ある。 こういう、表層的な技術(というか使い方)しか知らないと、問題解決能力は伸びないだろうな。 ということで、今回の担当君は、ひとつお勉強をしてくれただろうか?