ぬるくてやっつけなスクリプトを書く

何の工夫もなく入力された住所を「(都道府県),(市区町村郡),……」のようなCSV形式にしたい。対象は1,500件くらい。手動でやるのは面倒だなあ。そういうツールはないだろうか……と思って探してみたが、なんだかよくわからない。別に新住所対応の年賀状ソフトがほしいわけではないのだけれども。うーむ。これは自分でスクリプトを書くべきなんだろうか。下手すりゃ手作業でやるのと同じくらい、もしくはそれ以上時間がかかるような気が。
まあいいや。久しぶりにやってみよう。
しかし最後にPerlを使ったのはいつだったろうか……見事に忘れてるなあ。そんなことを考えながら組んでいると、やはり都道府県一覧やら市区町村郡一覧やらがあった方がよいのだろうか、という当たり前すぎるところで悩むハメに陥った。
そんなの最初から考えとけよ。まあそう言わずにひとつ。蒲郡市やら廿日市市やら、なんつーか紛らわしいんですよ。ったく馬鹿はこれだから困る……といった感じの脳内会議を経て、今後も使うことがあるかもしれないし……との言い訳も完備しつつ、Wikipediaの「全国市町村一覧」をコピーして整形することに。都道府県、市、区(含東京23区)、郡、町村と5つもファイルができた。手間のかかることおびただしい。
でも結局コイツらが一番活用されるんだろうなあ。
ともあれ、その後もShift JISのまま文字列置換しようと横着こいて失敗したりしつつ、のろのろと組んでいく。すると3〜4時間くらいで一応ではあるが形になった。思っていたよりも早い。出力を確かめてみるとそれなり動いているようだ。わーい。
しかし思った通りの結果が得られたはよいが、走らせた瞬間にファンが唸り、CPU使用率は100%に跳ね上がるという恐ろしいスクリプトになってしまった。まあ上記5つのリストをヒットする項目が出るまで総ざらいするという、力ずくもいいところなやり方をしているのである。当然といえば当然の報いであると言えよう。「蒲郡市」などの紛らわしいものだけ例外処理にして、それ以外の場合には「都道府県市区町村郡」を機械的に置換してやった方がよかったのかもしれない。ほかにも市町村合併で消えた自治体のデータを取り込んでいないなど、完成度はずいぶん低い。
うーん。
まあこれ以上時間をかけてもしょうがないし、ここらで手打ちにしてしまおう!市町村合併の影響でうまく変換されなかったやつだって、見る限り数は多くなさそうだからあとは目で拾えばいいや。
所詮やっつけ仕事とはいえ、ずいぶんヌルい野郎もいたものである。就職時に勘違いして技術者にでもなっていたら、今頃亡骸を風に晒す羽目になっていたのではあるまいか。生きているだけめっけもんと感謝しつつ、日々をやり過ごしていけばいい。
それでもまわりからは「宇宙語使いだ」とか言われるのだから、一般事務員っていいよなあ、と思う。