Excel pour journalistes (10) : importer et nettoyer un csv

En un sens, il en va du journalisme de données comme des travaux de peinture : avant d’aller à l’essentiel, qui est aussi le plus réjouissant, il faut préparer le chantier, tout décrasser, s’em…… à rendre les choses présentables. Ce que ne facilite pas, dans Excel du moins, l’importation d’un csv.

  1. Récupérer les caractères spéciaux.
    Un des inconvénients majeurs d’Excel est sa gestion des fichiers csv. Prenons par exemple ce fichier csv, fourni par la Banque carrefour des Entreprises, en Belgique, et qui reprend la nomenclature des différentes entreprises actives dans le pays. N’hésitez pas à télécharger ce fichier : si son ouverture se fait sans souci avec Open Office ou avec GSpreadsheet, l’importation dans Excel se traduit par contre par un défilé de caractères spéciaux.
    csv1On le voit, les caractères accentués ont été remplacés par un incompréhensible sabir, à savoir leurs codes UFT8. Une table de conversion est notamment disponible ici. La raison est que Windows encode les caractères dans un format qui lui est propre, appelé Windows-1252 et qui ne supporte par les caractères accentués du français. Il faut donc spécifier à Excel que le tableau a été encodé en UFT-8 (ce que font automatiquement GSpreadsheet et Libre Office). Pour ce faire, ouvrez une feuille vierge sous Excel puis Données/Données Externes/Fichier texte.
    csv2
    Sélectionnez sur votre PC le fichier à ouvrir et comme Origine du Fichier, optez pour 65001- Unicode (UFT-8). La fenêtre de prévisualisation devrait afficher maintenant les caractères accentués.
    csv3
    Pour transformer votre csv, désormais lisible, en une belle feuille de calcul, choisissez « Délimité » tout en cochant « Mes données ont des en-têtes », cliquez sur « Suivant », précisez que le séparateur de champs est la virgule (et non la tabulation, comme présenté par défaut) et « Terminé ». Voici le résultat :csv4
    Une autre façon de faire est de d’abord ouvrir le fichier csv dans Notepad puis de le convertir en UFT-8 en passant par le menu « Encodage ».  Enregistrez alors ce fichier sous un nouveau nom, ouvrez-le dans Excel et vous verrez que les accents sont à la bonne place.
    csv5
  2. Supprimer les espaces inutiles et les sauts de ligneUne autre plaie est la présence dans le fichier d’espaces superflus, ils empêchent de travailler correctement avec les données et notamment de les trier. Comme dans cet exemple, téléchargeable ici :

    csv6

    La fonction SUPPRESPACE (TRIM, en anglais) permet d’effacer facilement ces espaces superflus, elle ne réclame comme argument que les coordonnées de la cellule cible. Par exemple, pour supprimer les espaces non nécessaires de la cellule A2 : =SUPPRESPACE(A2)
    La fonction EPURAGE (CLEAN) permet quant à elle de supprimer certains codes qui apparaissent lors de l’importation de documents d’autres applications.  Dans le cas ci-dessous, un saut de ligne malvenu dans la cellule A11 a été supprimé :
    csv7