一兵卒だからこそ見える世界。IT業界の光と影。そんなみょ~にリアルなお話をお届けします。

csvファイル三原則「ダブルクリックしない、編集しない、上書き保存しない」

»

よくシステム運用の現場で用いられるカンマ区切りのcsvファイル。

システム間の安全なデータのやり取りとして一定のフォーマットを取り決め、csvファイルとして受け渡しをするわけですが、時折、システム側の仕様変更などでそのファイルフォーマットを変更しなければならない場合があります。

その際、システム変更費をケチってしまうと、本来機械的にやり取りされるべきcsvファイルに人の手が加わる場合があります。

本来そのような事があってはならないのですが、現状のIT運用の世界ではデータファイルはExcelで編集します、というようなシーンは普通に存在します。

Excelとcsvファイルの関係に慣れていないオペレータ(運用者)がここに関わると、たいていある事件が発生します。

代表的な問題を下記にあげたいと思います。

1.ダブルクリックで開く
 ⇒たいていのパソコンではExcelが立ち上がります。すると、ゼロ埋めの固定長の数値データ等があった場合、ゼロが消えます。「データがおかしい」と大騒ぎになります。

2.数字を編集する
 ⇒1の数値データに気づかないでそのまま見過ごすか、気付いても編集をしてしまいます。しかし、セルの書式設定により何回訂正入力してもゼロが消え、またまた大騒ぎになります。

3.上書き保存する
 ⇒2の問題を書式設定の問題で解決し、やっと訂正が終わったと思い「上書き保存」します。そこで、3回ぐらいしつこい確認メッセージが表示され、パニックになります。とにかく「はい」で進めます。

4.出来上がったデータのフォーマットが乱れている
 ⇒固定長で維持されていたデータが短くなるなどして、全体のフォーマットが崩れます。
  ここで初めてExcelで編集してはいけない、と気付く事が出来ます。

ITの世界に携わった事のある方ならば、一度は直面する上記の問題。
おそらくこの問題が起因するあらゆる問題に、直接的にでも間接的にでも今までの業務時間の0.5%ぐらいは費やしているのでは無いでしょうか。

特にシステム間のインターフェース上のエラーが発生したり、それが起因してデータベースが崩れてしまった場合などは0.5%どころでは無いと思います。

マイクロソフトが「仕様です」を貫いたり、こんな事で引っかかるのはExcel初心者という風潮が残ってたり、ググってもOKWaveあたりの回答で「マクロを組んだほうがいいですね」とか初心者をさらにパニックに陥れるような検索ノイズがある以上は、義務教育中あたりにでもこの問題を当たり前のように学校で教えておいたほうが良いような気がします。

※ちなみにExcelで上記のような問題を避ける場合は、下記のように行います。
 ・メニューバーから「データ」→「外部データの取り込み」→「データの取り込み」で、該当のcsvファイルを指定します。
 ・「テキスト ファイル ウィザード」画面が表示されます。
 ・「テキスト ファイル ウィザード」1/3で「カンマやタブなどの区切り文字によって…」にチェックが入っている事を確認して、「次へ」
 ・「テキスト ファイル ウィザード」2/3で「カンマ」にチェックを入れ、「次へ」
 ・「テキスト ファイル ウィザード」3/3で該当の列のデータ形式をG/標準から、文字列に変更して「完了」

Comment(2)

コメント

himat

そもそも、素人にcsv扱わせるのが間違いではないかと。
対策が判っているならリスクは事前に潰しておくべきで、でなければ、落とし穴掘っておいて注意もせずに、或いは簡単な注意だけで行かせて落ちたのが悪いと云っている様なものだと思います。
データフォーマットであれば、相手が扱えるデータに事前変換して渡すか専用ツール使うよう設定すれば済むことであって、注意しろとか前もって教育しておくべきとか云うのは"ググレカス"と大差無いのでは。
いずれにせよ、上流制御可能な事案であって、前もって落とし穴を可能な限り塞ぐか、無理ならば手を引いて落とし穴に落ちないよう誘導すべきではないでしょうか?

もっとも、私も常に優しく誘導しているわけではなくて、時には「落とし穴は掘っておいたから落ちないで通れ、落ちたら見捨てる」と冷たく見下ろし上から石を転がしたりするときも有るわけで・・・・(^^;。

同じく、csvをITに疎い人に扱わせる時点で違うと思いますね。どうしてもcsvでデータを作らせる必要があるなら、言及されているようにマクロを組むなり、なんなりして、フレンドリーなインターフェースを作るのがシステム屋の最低限のマナーだと思ってます。

コメントを投稿する