29 lines
979 B
Python
29 lines
979 B
Python
# This expects a file named "correspondance-code-insee-code-postal.json"
|
|
# You can find one here : https://public.opendatasoft.com/explore/dataset/correspondance-code-insee-code-postal/export/
|
|
|
|
import json
|
|
|
|
with open("correspondance-code-insee-code-postal.json", "r") as f:
|
|
data = json.load(f)
|
|
mapping = dict()
|
|
failed = []
|
|
duplicates = []
|
|
for base_item in data:
|
|
item = base_item.get("fields")
|
|
if not item:
|
|
failed.append(base_item)
|
|
insee_com = item.get("insee_com")
|
|
if insee_com:
|
|
if insee_com in mapping:
|
|
duplicates.append(base_item)
|
|
mapping[insee_com] = {
|
|
"name": item.get("nom_comm"),
|
|
"zip_code": item.get("postal_code"),
|
|
}
|
|
else:
|
|
failed.append(base_item)
|
|
import pprint
|
|
|
|
with open("cities.py", "w") as writef:
|
|
writef.write(pprint.pformat(mapping, indent=4, compact=True))
|
|
writef.flush()
|