Sélectionner une page

Script Python Communes limitrophes, selon code postal

Ce script se connecte à l’API du site https://www.villes-voisines.fr/

https://www.villes-voisines.fr/api-code-postal.php

Il balaye tous les codes postaux et stocke les 10 villes voisines dans un rayon de 10km pour chaque code postal, dans une ligne d’un tableau excel qui s’enregistre dans le dossier où vous aurez placé le script.

import requests
import xlsxwriter

voisin = {}
for cp in range(1000, 99999):
    if cp <= 9999:
        cp = '0' + str(cp)
        print(cp)
    else:
        cp = str(cp)
        print(cp)
    
    rayon = '10'
    myurl = 'https://www.villes-voisines.fr/getcp.php?cp=' + cp + '&rayon=' + rayon
    r = requests.get(myurl)
    if(r.json()) != None:
        a = r.json()
        lst = []
        for i in a:
            if type(i) is str:
                b = str(i)
                # print(a[b]['nom_commune'])
                lst.append([a[b]['nom_commune'], a[b]['code_postal'], a[b]['distance']])
            else:
                lst.append([i['nom_commune'], i['code_postal'], i['distance']]) # 
        
            y = 10 #taille souhaitée
            for i in range(0, len(lst) - y):
                lst.pop()
        print(lst)
        voisin[cp] = lst
# création d'un tableau excel vide et remplissage avec les données du tableau
workbook = xlsxwriter.Workbook('communes.xlsx')
worksheet = workbook.add_worksheet()
row = 0
col = 1

for key in voisin:
    worksheet.write(row, 0, key)
    for item in voisin[key]:
        for i in range(0,len(item)):
            worksheet.write(row, col, item[i])
            col += 1
    row +=1
    col = 1    

workbook.close()



Le tableau des communes limitrophes par code postal dans un rayon de 10km se trouve ici

version csv

NB : Pour l’exécuter il faut installer Python, pip, requests et xslxwriter