こんにちは。梅雨明けしたいも関わらず、ジトジトして不快指数が高いお天気が続きますね。でも湿気に負けないで今日もブログを更新しようと思います!

 

さて、今日は以前書いた記事「Perlで横浜市の区別年齢別人口データを自動入手する」で入手したJSONファイルをCSVファイルに変換します。何故CSVにしたいかと言えば、その前に書いた記事「横浜市地図に区名を表示する」で紹介した横浜市地図に人口データを反映させるための情報に編集し直す必要があり、一旦CSVにした方が編集作業が便利そうだからです。

 

JSONファイルを読み込んで、CSVとして書き出す

横浜市の人口データが入っているJSONファイルを読み込み、2次元テーブルに変換して、CSVとしてファイル出力するスクリプトをPythonで書きました。汎用性のあるコードにしたかったのですが、結構手間取りそうだったので、今回扱うJSONファイルの構造に依存した処理になっています。

 

conv_json_to_csv.py

 

ここではCSVにするためにDictionary型のデータを2次元データに書き換えています。

L32の書き方は便利で、

[x[1] for x in row_list]

は、[(x0,y0),(x1,y1),(x2,y2),…]という形式のリストのうち、第二要素のみを取り出して

[y0,y1,y2,...]

と整理してくれます。=>stackoverflow

 

以上で、横浜市の0-5歳児の人口データが入ったCSVファイルが出来上がりました。

 

次は、以前の記事「区名と行政団体コードを書き並べたCSVからJSONファイルを作成する」で作成したCSVファイルと合わせてExcelで編集して次のようにまとめます。

 

 

これを、同じく「区名と行政団体コードを書き並べたCSVからJSONファイルを作成する」で書いたスクリプトを使って、JSONファイルに変換します。

 

これで、区名&人口データが入ったJSONファイルが出来上がりました。

次回はこのファイルを使って、横浜市地図を塗り分けようと思います!

 

それでは♪