-本稿では、Pythonをゼロから学ぶヒントを紹介している。今回は、Pythonを使って、最も身近なオープンデータ「郵便番号データベース」を活用する方法を紹介する。オープンデータとは?近年「オープンデータ」が話題となっている。現在では、人口統計や、過去の天気や気温など、さまざまなデータがオープンデータとして公開されている。郵便番号データベースを使ってみようそして、インターネットユーザーの間で、早くから様々な形で利用されてきたオープンデータとして思い浮かぶのが「郵便番号データベース」だ。以下、郵便局のWebサイトから、誰でも郵便番号データをダウンロードできる。ダウンロードのページ今回は、Pythonからオープンデータ活用の例として、住所から郵便番号を検索するツールを作ってみよう。上記のサイトから、「住所の郵便番号(CSV形式)」をダウンロードしてみよう。データは、各都道府県ごとのデータと、全国一括の二種類があるので、ここでは「全国一括」のデータをダウンロードしよう。データは、ZIP形式で圧縮されているので、ZIPデータを解凍すると、「KEN_ALL.CSV」というCSVファイルが表示される。CSVファイルは、Excelなどで手軽に見ることができる形式だ。AIRでは、ファイルを開くのに十秒かかった。古いPCだと、フリーズして開くことができないかもしれない。KEN_ALL.CSVをExcelで開いてみたところ※なお、CSVファイルに関しては、本連載の3回目で詳しく紹介しているので参考になると思う。Pythonで郵便番号を検索するプログラムを作ろうそれでは、Pythonを使って、郵便番号を検索するプログラムを作ってみよう。検索すると言っても、難しい処理を作る必要は無い。CSVファイルを開いて、一行ごとに検索語句があるかどうかを調べるというプログラムだ。以下のようなプログラムになる。fp.close()このプログラムは、コマンドラインから実行する。WindowsならコマンドプロンプトやPowerShell、macOSならターミナルを起動して、以下のようなコマンドを実行しよう。浅草の郵便番号を調べるなら、以下のように入力する。浅草プログラムを実行したところ任意の住所を検索したい場合には、上記の「浅草」と書いている部分を「渋谷」など任意の住所に書き換えよう。プログラムを実行すると、任意の住所に合致するものが一覧で表示される。プログラムを確認してみよう。プログラムの(*1)の部分では、コマンドライン引数を確認する。***」と実行すると、***に当たる部分を、コマンドライン引数と呼び、sys.argvを参照することで値を取得できる。プログラムの(*2)の部分では、郵便番号のデータファイル「KEN_ALL.CSV」を一行ずつ読むために開く処理を記述している、第二引数の「rt」は、テキストモードでファイルを読むことを指定し、encodingはファイルの文字コードを指定する。(*3)の部分では、CSVファイルを一行ずつ読んで、住所データが記述されている部分を取り出し、コマンドライン引数で指定した住所と一致していれば、郵便番号および住所をprint()文で出力する。まとめ以上、今回は、コマンドラインから使える郵便番号の検索ツールを作ってみた。普段からコマンドラインに抵抗がない人であれば、手軽に郵便番号が検索できるので重宝するだろう。言え、コマンドラインにそれほど慣れていない人と、扱いづらく感じるかもしれない。別の機会に、GUIやブラウザから使えるツールに仕上げてみたいと思う。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。