Wolfram Language
Explorer et mettre en forme des données
Comment faciliter la consultation d’un fichier Excel

Import, analyse et mise en forme des données d’un fichier Excel

Article mis en ligne le 10 décembre 2020
dernière modification le 16 décembre 2020

par Bernard Vuilleumier

L’office fédéral de la statistique (OFS) met à disposition du public de très nombreuses données, notamment sous forme de fichiers Excel. Cet article détaille comment analyser et mettre en forme les données d’un de ces fichiers à l’aide du langage Wolfram afin d’en faciliter la consultation.

Import et analyse d’un fichier Excel
Le fichier à importer se nomme « cc-f-10.03.DD-11.xlsx ». Dans l’exemple ci-dessous, le chemin d’accès au répertoire est « /Users/bernard/Desktop ». L’import s’effectue alors avec les instructions suivantes :

In[1]:= SetDirectory["/Users/bernard/Desktop"]
imp = Import["cc-f-10.03.DD-11.xlsx"];
Out[1]= "/Users/bernard/Desktop"

N. B. Les entrées et sorties sont numérotées. Le point virgule à la fin de la deuxième ligne de code supprime l’affichage des données qui sont affectées à la variable « imp ».
Les dimensions du fichier s’obtiennent avec :

In[3]:= Dimensions@imp
Table[Dimensions[imp[[i]]], {i, 177}];
Out[3]= {177}

Le fichier présente trois dimensions. La première vaut 177 (nombre de mois) et les deux autres (attribuées aux pays et aux régions) sont variables. Ces deux dimensions apparaissent si on enlève le point virgule de l’entrée 4. La sortie 4 présente alors 177 listes de deux éléments donnant ces deux dernières dimensions. On remarque qu’elles valent 134 et 46 au maximum. La consultation et l’analyse de données recourent en général à des opérations de transposition (i. e. transformer les lignes en colonnes et réciproquement). Or cette opération, qui s’effectue avec la commande « Transpose », n’est possible que si les données se présentent sous la forme d’un « cube » de dimensions constantes. On obtient ce cube dans la variable « temp » en « rembourrant » les données :

In[5]:= temp = Table[PadRight[imp[[i]], {134(*nbr max de lignes*), 46(*nbr max de colonnes*)}, ""], {i,177(*nbr de mois*)}];
Dimensions@temp
Out[6]= {177, 134, 46}

L’application « Nuitées en Suisse 2017-2020 »
Nous avons réalisé une application utilisant les données de ce cube. Elle permet de répondre rapidement aux questions suivantes sans risquer de se perdre dans les innombrables feuilles de calcul du fichier Excel :

  • quelles sont les régions d’accueil retenues ?
  • quel est le top 10 des provenances par régions pour les arrivées, les nuitées et la durée ?
  • que vaut le nombre d’arrivées, de nuitées et la durée pour ces provenances ?
  • comment ces nombres évoluent-il durant la période d’observation ?
  • comment cette évolution se présente-t-elle graphiquement ?

Cette application peut être utilisée en ligne. [1] Elle peut être téléchargée pour un usage local mais elle nécessite alors l’installation de Wolfram Player. [2]

Interface
L’accès aux données se fait via l’interface suivante :

Interface donnant accès aux données du « cube »

Les régions d’accueil se choisissent dans un menu déroulant :

Menu déroulant pour le choix d’une région d’accueil

L’affichage donne le top 10 des provenances et les nuitées. Les boutons permettent de voir tous les pays et de choisir l’origine des nombres :

Boutons

La case à cocher « voir l’évolution » permet de saisir en un coup d’œil cette dernière. Le curseur « mois » permet de se déplacer dans la période d’observation. Les points rouges correspondent au total du mois affiché dans le tableau.

Présentation graphique de l’évolution
Les points rouges correspondent au totaux (arrivées et nuitées)

Les points peuvent être reliés à l’aide de la case à cocher « interpoler ».

Présentation interpolée

Affichage du nombre d’arrivées et de nuitées

Consulter les données sur Wolfram Cloud pour la période :