Excelの仕様書からプログラムを書く(フラッシュフィル)
1. はじめに
Excelのテーブル仕様書をそのまま使って、プログラムをちょっと横着して書いてみようってお話です。
タイトルの通りExcelにはフラッシュフィルと言う機能がありますが、フラッシュフィルを簡単に説明すると、
① あらかじめ記述してある表と、
② 入力例から、
③ Excelが勝手に推測して他のセルを自動で埋めてくれる
といった感じの機能なんですが、今回はこの機能を使います。
2. フラッシュフィルの説明
3. テーブル仕様からDjangoのmodels.pyを書く
簡単ですが、下記のようなテーブル仕様書があるとします。
この表からDjangoのmodels.pyを定義していくのですが、F2のセルに1行だけコードを書きます。
書いたら、フラッシュフィルをクリックします。
結構無理な状況でも推測してくれるフラッシュフィル素敵です!
ただ、この状態だとcharのsizeはコード化されていないので、F3のセルを修正し、max_length=100を定義します。
Enterキーを押すと
charフィールドだけ、max_lengthが定義されました!
最後にチェックすると、
birthdateがDateTeildになってますね。ここはDateFeildなのでちょちょっと修正しておきます。
こんな感じで、1回でうまくいかない時は、何行か書くと推測の精度が上がっていく感じです。
他にもDBからJSONの応答電文を作るときにも使えたりしますでしょうか。
4. どんなときに使う?
コードエディタでスニペットが効かない定義体を作成する時は、打ち間違えを無くすため、なるべく元の仕様書からコピペするのが良いと思います。
万能!ってほどのものでは無いのですが、今回の記事を読んでいただいて、「Excelで先にコード作ってしまってからコピーする」方法があって、しかも(関数を書いて。。。ではなく)ボタン一つで実行できるなんて「あら、意外と便利ですね!」って思っていただけたなら幸いです。