都市名を市区町村コードに変換に変換する仕組みを作成します。
例として、埼玉県を取り上げます。
次のページからコピーペーストでテキストを取り出します。
in01.txt
11100 さいたま市 さいたまし 111007
11101 西区 にしく 111015
11102 北区 きたく 111023
11103 大宮区 おおみやく 111031
11104 見沼区 みぬまく 111040
11105 中央区 ちゅうおうく 111058
11106 桜区 さくらく 111066
11107 浦和区 うらわく 111074
11108 南区 みなみく 111082
11109 緑区 みどりく 111091
11110 岩槻区 いわつきく 111104
11201 川越市 かわごえし 112011
11202 熊谷市 くまがやし 112020
11203 川口市 かわぐちし 112038
11206 行田市 ぎょうだし 112062
11207 秩父市 ちちぶし 112071
11208 所沢市 ところざわし 112089
11209 飯能市 はんのうし 112097
11210 加須市 かぞし 112101
11211 本庄市 ほんじょうし 112119
11212 東松山市 ひがしまつやまし 112127
11214 春日部市 かすかべし 112143
11215 狭山市 さやまし 112151
11216 羽生市 はにゅうし 112160
11217 鴻巣市 こうのすし 112178
11218 深谷市 ふかやし 112186
11219 上尾市 あげおし 112194
11221 草加市 そうかし 112216
11222 越谷市 こしがやし 112224
11223 蕨市 わらびし 112232
11224 戸田市 とだし 112241
11225 入間市 いるまし 112259
11227 朝霞市 あさかし 112275
11228 志木市 しきし 112283
11229 和光市 わこうし 112291
11230 新座市 にいざし 112305
11231 桶川市 おけがわし 112313
11232 久喜市 くきし 112321
11233 北本市 きたもとし 112330
11234 八潮市 やしおし 112348
11235 富士見市 ふじみし 112356
11237 三郷市 みさとし 112372
11238 蓮田市 はすだし 112381
11239 坂戸市 さかどし 112399
11240 幸手市 さってし 112402
11241 鶴ヶ島市 つるがしまし 112411
11242 日高市 ひだかし 112429
11243 吉川市 よしかわし 112437
11245 ふじみ野市 ふじみのし 112453
11246 白岡市 しらおかし 112461
11301 伊奈町 いなまち 113018
11324 三芳町 みよしまち 113247
11326 毛呂山町 もろやままち 113263
11327 越生町 おごせまち 113271
11341 滑川町 なめがわまち 113417
11342 嵐山町 らんざんまち 113425
11343 小川町 おがわまち 113433
11346 川島町 かわじままち 113468
11347 吉見町 よしみまち 113476
11348 鳩山町 はとやままち 113484
11349 ときがわ町 ときがわまち 113492
11361 横瀬町 よこぜまち 113611
11362 皆野町 みなのまち 113620
11363 長瀞町 ながとろまち 113638
11365 小鹿野町 おがのまち 113654
11369 東秩父村 ひがしちちぶむら 113697
11381 美里町 みさとまち 113816
11383 神川町 かみかわまち 113832
11385 上里町 かみさとまち 113859
11408 寄居町 よりいまち 114081
11442 宮代町 みやしろまち 114421
11464 杉戸町 すぎとまち 114642
11465 松伏町 まつぶしまち 114651
JSONに変換します。
./code_city.py in01.txt code_cities.json
code_city.py
# ! /usr/bin/python
# -*- coding: utf-8 -*-
#
# code_city.py
#
# Apr/04/2020
#
# ------------------------------------------------------------------
import sys
import os
import json
#
# ------------------------------------------------------------------
def file_write_proc(file_name,str_out):
#
fp_out = open(file_name,mode='w',encoding='utf-8')
fp_out.write(str_out)
fp_out.close()
# ------------------------------------------------------------------
sys.stderr.write("*** 開始 ***\n")
file_in = sys.argv[1]
json_out = sys.argv[2]
sys.stderr.write(file_in + "\n")
sys.stderr.write(json_out + "\n")
#
fp_in = open(file_in,encoding='utf-8')
lines = fp_in.readlines()
fp_in.close()
#
dict_aa = {}
for line in lines:
cols= line[:-1].split ('\t')
key = cols[1].strip()
value = cols[0]
dict_aa[key] = {"code": value}
#
out_str = json.dumps(dict_aa)
file_write_proc(json_out,out_str)
#
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------
変換の動作確認
$ jq ."川越市" code_cities.json
{
"code": "11201"
}
>```text
$ jq .\"熊谷市\" code_cities.json
{
"code": "11202"
}
$ jq ."川口市" code_cities.json
{
"code": "11203"
}