CSVマッチングツールを作りました
ITサポーターTsuchidaの土田です。久しぶりにアプリ化できるツールを作ってみました。
このツールは、楽天のECサイトには配送状況を知らせるために、荷物の伝票番号を手動で入力していたので、入力作業を自動化したいという話がきっかけでした。
楽天では配送状況をCSVデータとしてダウンロードできます。ダウンロードしたCSVデータに伝票番号などを付加すれば、楽天にCSVファイルをアップロードすれば、配達状況が更新されます。
荷物の伝票番号は、専用の伝票発行システムで行っていて、楽天の注文番号で伝票番号が紐ついています。そのため楽天のCSVファイルに伝票発行システムのCSVファイルを、注文番号でマッチングして伝票番号と出荷日を付加できれば自動化ができます。
楽天と伝票発行システムのCSVファイルを専用に作れば簡単ですが、楽天以外のECサイトや別の配送会社になった場合には新たにプログラムを作る必要があります。同じようなプログラムを複数作らないために、汎用的なツールとしてCSVマッチングツールを作ってみました。
ツールの画面はこんな感じです。
2つのCSVファイルをそれぞれ参照で、入力ファイル1で入力ファイル2を指定します。
今回は、楽天からダウンロードしたCSVファイルを入力ファイル1として、伝票発行システムのCSVファイルを入力ファイル2です。入力ファイル1を主として、入力ファイル2の項目を付加する仕様になっています。
項目名2には入力ファイル2のタイトル行の項目名がセットされていますので、項目2のコンボボックスから項目を選択します。例では項目1の注文番号と項目2のお客様管理番号をキーにマッチングして、マッチした入力ファイル2の伝票番号をお客様伝票番号として、出荷予定日を発送日とします。発送会社は、固定値で「1001」とします。
毎回コンボボックスを選択するのは面倒なので、パターンを登録します。
次回からはマッチングパターンを選択するだけすみます。
データ出力で、出力用のCSVファイルの名前を指定して、マッチングパターンに従ったCSVファイルを出力します。
このツールは、ExcelでVLOOKUP関数を使って別の表から項目を付加するイメージです。CSVファイルをわざわざExcelで開いてVLOOKUP関数を使って項目を付加して、その後にCSVファイル形式で保存する操作を代用できると思っています。
また似たような作業のために、わざわざAccessでテーブル削除クエリ・CSVファイルのインポート・選択クエリのCSVファイルエクスポートという一連の手作業をやっている人を見たことがありますが、この作業も自動化できると考えています。
私のようなプログラマはこういう機能が欲しいといわれないとなかなかツールが作れないのです。たまたまアイディアを頂くことができたので、ツールを作ることができました。
アイディアとプログラマがつながることが便利なITツールに必要なのかもしれません。
この記事が気に入ったらサポートをしてみませんか?