【プログラム】CSVファイル変換スクリプトでエラー
CSVファイルを変換するスクリプトでエラーが見つかりました。このスクリプトは仕事で使うために自作したもの。
仕様
簡単に書くと「Aシステムから出力されるCSVファイルをBシステムで受け取れるフォーマットに変換する」という仕様です。CSVファイルのカラムの位置を入れ替えたり、二つ以上のカラムのデータをまとめたり、逆に分割したり、日付の書式を変えたり、不要なカラムを削ったり、空のカラムを追加したりする。また全体の文字コードを変換する処理も入っている。
見つかった不具合
今回見つかった不具合は「文字を削ってしまい必要な情報を消してしまっていた」です。Bシステムに渡すデータのうち特定のカラムについて、受け取れる文字数に制限があった。変換スクリプトの中で文字数制限に従って、文字を削る処理を入れていた。このとき文字数オーバーしているときに何のエラーや警告を出さずに文字を削っていたのです。そのため必要だった情報を消してしまい業務に支障が出ました。
そもそもAシステムとBシステムはそれぞれ別々の企業が作ったものなので、フォーマットが合っていないのはしょうがない。フォーマットが合っていないからスクリプトを作ったのですから。
対応策
文字数オーバーが発生したときに変換スクリプトでエラーを出して止まるようにしても良かったけど、BシステムでCSVファイルを受け取るときに警告が出ることがわかったので、文字列を削らずにそのまま渡すことにしました。
警告が出たときに視認して人力で対応することにしました。数年使ってきて、今回初めてエラーが出たので頻繁に起こる現象ではないと思われるので、とりあえずこの対策で様子を見る。
過去の同じ日の記事一覧
Denise McQuillenによるPixabayからの画像を使用しています。
ディスカッション
コメント一覧
まだ、コメントがありません