Pour visualiser des données en provenance d'un fichier tableur (Libre/Open Office, Excel; données au format CSV), il peut être intéressant de "voir" les différentes informations sous forme de carte mentale. Pour certains fichiers Tableur lourds l'information est rangée par enregistrements (lignes), et une centaine de lignes devient difficile à analyser.
FreeMind, par sa souplesse d'utilisation, est ici retenu à titre d'exemple. Un petit script Python va donc permettre d'ouvrir le fichier CSV, puis de récupérer les colonnes redondantes pertinentes. Ensuite, dans une seconde étape, les données sont formatées au format XML de Freemind, et insérées dans le fichier carte de destination, avec l'extension "MM", propre aux cartes mentales de Freemind.
L'intérêt est de regrouper certains enregistrements, à partir d'une (ou plusieurs) colonne. La visualisation des informations du tableau est alors immédiate.
Considérons le tableau suivant :
Dans cet exemple simple, il pourrait être intéressant de regrouper les individus par ville. Le programme Python va donc commencer par rechercher dans le fichier les villes différentes. Ces villes constitueront les premiers nœuds périphériques. A chacun de ces nœuds, donc à chacune de ces villes, il suffira d'attacher les nœuds secondaires constitués des informations sur les individus, ce qui donne:
L'idée est d'adapter ensuite au besoin le petit script Python, en indiquant comment regrouper les informations du tableur.
La carte Freemind est une carte au format XML, donc un fichier texte qui s'ouvre avec n'importe quel éditeur de texte. On peut y trouver comment sont rangées les informations.
La carte est une balise de type MAP. Cette balise s'ouvre au début du fichier et se ferme en toute fin.
Les noeuds, rangés en fonction de leur attachement à leur noeud parent, balise de type NODE. Le premier noeud, le noeud central, est donc le noeud auquel seront rattachés tous les autres. Il s'ouvre en tête de fichier, après la balise MAP, et se ferme juste avant.
Les noeuds enfants sont ensuite insérés hiérarchiquement, en fonction de leur noeud parent.
Les attributs des noeuds les plus basiques sont :
Deux nouvelles versions du script Python sont disponibles :
Fichiers testés sous MacOS X et Ubuntu 14.04.
Ces fichiers peuvent nécessiter quelques connaissances en Python pour adapter le programme. Des problèmes d'indentation m'ont été remontés avec IDLE sur Windows !