Quand on travaille sur des communes, on ne peut pas utiliser leurs noms pour les identifier, pour plusieurs raisons. D'abord, beaucoup de communes ont des homonymes : sur les 34 552 communes de France existant au 01/01/2017, on en trouve 3 851 qui avaient exactement le même nom qu'au moins une autre, le "record" étant détenu par Sainte-Colombe, qui est le nom de 13 communes, sans compter les Sainte-Colombe-sur-Guette, Sainte-Colombe-en-Auxois, Sainte-Colombe-la-Commanderie (à ne pas confondre avec Sainte-Colombe-de-la-Commanderie), Sainte-Colombe-près-Vernon, Sainte-Colombe-de-Duras, Sainte-Colombe-des-Bois et quelques autres... soit en tout 29 communes qui ont "Sainte-Colombe" comme nom ou dans leur nom. De plus, les noms des communes sont parfois écrits tout en majuscules non accentuées, parfois avec des minuscules accentuées, parfois avec des majuscules initiales accentuées, parfois avec des abréviations comme s/s pour sous, parfois St et Ste pour Saint et Sainte, parfois avec des traits d'union comme il se doit, parfois sans trait d'union... Et en outre, certaines communes sont connues sous un nom qui n'est pas leur nom officiel: un Saint-Paul était connu comme Saint-Paul-de-Vence bien avant de prendre officiellement ce nom en 2011 ; Digne-les-Bains, Cherbourg-en-Cotentin, Saint-Dié-des-Vosges continuent d'être souvent désignées par Digne, Saint-Dié et Cherbourg, alors que, au contraire, Clichy-la-Garenne a toujours été officiellement Clichy, pour ne citer que quelques exemples. Le nom d'une commune ne peut donc pas servir à l'identifier dans une base de données.
Le seul identifiant à utiliser pour se référer à une commune française est son code géographique désigné le plus souvent sous le nom de "code INSEE", ou "code commune", ou encore "depcom". C'est un code alphanumérique (c'est-à-dire qu'il doit être considéré, dans un tableur, comme un libellé texte et non pas comme un nombre), composé de 5 caractères : les deux premiers sont le code du département (deux chiffres, ou un chiffre et une lettre pour la Corse et parfois pour les départements d'Outre-mer), les 3 suivants (non séparés par un espace) sont le code de la commune à l'intérieur du département, attribué par l'IGN (Institut national de l'information géographique et forestière). Le code INSEE est unique pour chaque commune, et si une commune disparaît, son code n'est jamais réutilisé pour identifier une autre commune. L'INSEE fournit le code de toutes les communes, existantes ou ayant existé, dans les différents documents regroupés dans le Code officiel géographique. Il peut être utile aussi de consulter la page consacrée à la Géographie administrative et d'étude, notamment pour l'historique des communes. qui "relate les changements de nom, les créations, les disparitions et les changements de département intervenus pour la France métropolitaine et les départements d'outre-mer (DOM) depuis 1943 de façon exhaustive".
Chacun connaît mieux les codes postaux des communes, qui sont d'un usage beaucoup plus commun. Les codes postaux ont aussi 5 caractères alphanumériques (sans espace), dont les deux premiers sont aussi le code du département. Mais contrairement aux codes communes, il n'y a pas de relation bi-univoque entre les codes postaux et les communes : une commune donnée n'a pas toujours un code postal unique, et un code postal donné ne correspond pas toujours à une commune unique. Les grandes communes ont plusieurs codes postaux, qui correspondent aux différents centres distributeurs du courrier (sans parler des Cedex). Par exemple Nice a 4 codes postaux : 06000, 06100, 06200, 06300. Les petites communes peuvent avoir le même code postal que leurs voisines. Par exemple, le code postal 83570 est commun aux communes de Carcès, Correns, Cotignac, Entrecasteaux et Montfort-sur-Argens. Dans ce cas-là, l'identifiant unique de la commune est l'ensemble formé par le code postal et le nom de la commune.
L'Insee et la plupart des autres organismes qui fournissent des statistiques au niveau communal n'utilisent que le code INSEE. Mais il arrive que l'on doive travailler sur des listes de communes qui ne sont identifiées que par le code postal et le nom. Dans ces cas-là, se pose la question : comment trouvers les codes INSEE de chaque commune, à partir de leur code postal et/ou de leur nom ?
L'Insee lui-même donne bien sûr les codes Insee des communes, notamment dans le Code officiel géographique (COG), déjà mentionné. Mais en raison des homonymies et des variantes d'écriture, trouver les codes Insee d'un grand nombre de communes à partir de leur noms peut être extrêmement fastidieux. Heureusement, la Plateforme ouverte des données publiques françaises data.gouv.fr, un service de l'État, met maintenant à la disposition du public le fichier Correspondance entre les codes postaux et codes INSEE des communes françaises. Ce jeu de données fournit bien sûr la correspondance code INSEE - code postal, mais il intègre aussi des données de référence sur les communes : population, superficie, altitude moyenne, statut (commune simple, chef-lieu de canton etc.). Ce jeu de données a été constitué à partir des données de la base GEOFLA® mise à disposition par l'IGN (codes INSEE) ainsi qu'à partir de données Wikipédia (codes postaux), informations qui peuvent être très utiles dans certains cas. Malheureusement, ce fichier date du 21 décembre 2013, et ne prend donc pas en compte toutes les modifications de communes intervenues depuis cette date, qui sont particulièrement nombreuses depuis 2015.
Mais le site data.gouv.fr publie aussi la Base adresse nationale, dont la dernière mie à jour date de 2017. Pour disposer d'une correspondance code postal-code Insee facile à utiliser, j'ai téléchargé les fichiers départementaux comportant toutes les adresses de toutes les communes, et je n'ai conservé qu'une ligne par commune avec son code postal (ou ses codes postaux), son nom et son code INSEE. Quand un code postal est partagé par plusieurs communes, il y a une ligne par nom de commune, avec son code Insee ; quand une commune a plusieurs codes postaux, il y a une ligne par code postal (non compris les Cedex). Ensuite, j'ai fusionné cette base avec la base d'appartenance communale des communes au 01/01/2017 (source: COG 2017 sur le site Insee). Il y avait 26 communes qui étaient dans le second fichier et pas dans le premier. Pour trouver le code postal de ces 26 communes, j'ai cherché pour chacune le code postal sur le site de La poste. J'ai ainsi obenu un tableau donnant une correspondance directe des codes postaux et des codes Insee 2017 pour toutes les communes existantes au 01/01/2017.