Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Découvrez OpenRefine: un outil
gratuit pour nettoyer, préparer et
enrichir vos données
BU UNS
Atelier Learning Centre Soph...
Plan
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tris, filtres et facette...
Présentation d’Openrefine
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tri...
Nettoyer, préparer, enrichir des données
Avant d’analyser des données il faut souvent les nettoyer ou
les préparer, surtou...
Nettoyer, préparer, enrichir des données
Quels outils?
- Tableurs : Excel, Calc (Libreoffice), Google Drive
- Langages : B...
Présentation du logiciel
 Historique
 2009 : logiciel Gridworks développé par David François Huynh
de Metaweb, comme out...
La communauté
 Site officiel:
http://openrefine.org/
 Documentation :
https://github.com/OpenRefine/OpenRefine/wiki
 Li...
Présentation du logiciel
 Ce n’est pas un tableur contrairement aux apparences:
 logique de modification globale d’un fi...
Fonctionnalités principales
 Explorer un jeu de données : tris, facettes, regroupement de
valeurs proches
 Modifier l’or...
Positionnement d’OpenRefine
Avantages
 Fonctions absentes des tableurs
traditionnels
 Interface graphique (vs. scripts)
...
Quelques exemples d’utilisation
 Bibliothèques, archives, musées
 Liste d’exemples recensés dans Bibliopedia
 Corriger ...
Quelques exemples d’utilisation
 Journalistes et réutilisateurs de données ouvertes
 Normalisation, clustering et transp...
Présentation d’Openrefine
1. Introduction au nettoyage et à la préparation de données
2. Présentation
3. Installation et p...
Aspects techniques
 Installation mono-poste, sous PC, Mac et Linux
 Interface accessible via un navigateur internet (adr...
Installation
http://openrefine.org/download.html
15/
Contraintes liées à Java
 OpenRefine est écrit en langage Java
 Cela peut compliquer l’installation sous Mac : en cas de...
Paramétrage facultatif : ajouter de la
mémoire
Par défaut OpenRefine utilise 1 Go de mémoire vive au
maximum. Il peut être...
Paramétrage facultatif : ajouter de la
mémoireSous Mac : ouvrir le fichier ‘/Applications/OpenRefine.app/Contents/info.pli...
Fermeture
19/
 Puisque le logiciel tourne en tâche de fond, fermer le
navigateur ne suffit pas fermer proprement Openrefi...
Import des données
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tris, filt...
Lancer OpenRefine
Ouvrir un navigateur (Chrome ou Firefox)
Windows : lancer de préférence refine.bat (prise en compte de
l...
Les fichiers d’exercices
Télécharger sur votre bureau deux mini
jeux de données fictives
 Exo 1 :
http://bit.ly/2gBR06v
...
Importer des données
Projet = un fichier de données + un ensemble de traitements
Un projet peut être réouvert, ou importé ...
Importer des données
Plusieurs formats de fichiers possibles
Depuis plusieurs emplacements
24/
Formats reconnus
Données tabulées (lignes/colonnes)
De préférence utiliser le format csv ou autre format brut (tsv…)
L’imp...
Importer des données
Créer un nouveau projet à partir du fichier exo1.csv
26/
Importer des données
Charger le fichier dans OpenRefine le fichier précédemment
enregistré sur le Bureau
27/
Importer des données
Ecran d’import en 2 parties : aperçu des données + paramètres
28/
Importer des données
Principaux paramètres d’import
29/
Encodage des
caractères
(en général UTF-8
ou ISO 8859-1)
Séparateu...
Importer des données
Pour lire et écrire en français… choisir l’encodage
correspondant à celui du fichier
30/
1 av. St B...
Importer des données
Prudence avec la détection automatique des nombres et des
dates ! Dans le doute, désactiver l’option....
Importer des données
Une fois les paramètres d’imports choisis, lancer l’import
32/
[Optionnel]
Changer le nom du projet
C...
Importer des données
Il est également possible d’importer plusieurs fichiers dans le
même projet.
Ils doivent être structu...
Importer des données
Il est également possible d’importer plusieurs fichiers dans le
même projet.
La 1re colonne (File) du...
Espace de travail
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tris, filtr...
L’espace de travail
36/
Lien vers le
projet
ExportNouveau
projetContenu du fichier
Facettes
et filtres
Historique
L’espace de travail
37/
Colonnes de données
Nb lignes
affichées
Voir les lignes
précédentes ou
suivantesNb lignes du
fichi...
Différences avec un tableur
On ne voit pas toutes les lignes. Ce n’est pas le but de l’outil
On applique les formules à de...
Comment explorer et manipuler les données
Modification d’une cellule : bouton edit visible au survol
 Ponctuelle
 Pour t...
Les menus contextuels
Les plus fonctions les utilisées : facettes, édition de cellules et
de colonnes, tri
Fonction propre...
Réordonner ou supprimer des colonnes
Dans la 1re colonne Toutes
41/
Tris, filtres et facettes
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tri...
Trier les données
Activité : trier les données en fonction des valeurs de la
colonne code_personne (ordre alphabétique, sa...
Trier les données
Activité : trier les données en fonction des valeurs de la
colonne code_personne
44/
Plusieurs options,
...
Trier les données
Activité : trier les données en fonction des valeurs de la
colonne code_personne
45/
Pour l’ordre d’orig...
Trier les données
Retrier de façon permanente
46/
Menu visible après le tri
Filtrer les données
Activité : filtrer le fichier pour afficher les lignes dont la
colonne code_personne contient le mot «...
Filtrer les données
Activité : filtrer le fichier pour afficher les lignes dont la
colonne code_personne contient le mot «...
Filtrer les données
Toutes les opérations (export, nouveaux filtres, facettes,
modifications groupées) s’opèreront uniquem...
Filtrer les données
Deux options pour les filtres (peuvent s’additionner)
50/
Prendre ou compte ou non la casse (« nice » ...
Filtrer les données
Pour annuler un filtre, cliquez sur la croix dans le coin supérieur
gauche du filtre
Nous allons annul...
Utiliser les facettes
Les facettes permettent d’avoir un aperçu synthétique sur le
contenu d’une colonne.
Utile pour repér...
Utiliser les facettes
Par défaut, seules les 2000 premières choix sont affichées.
S’il y en a plus, Openrefine propose d’a...
Utiliser les facettes
Activité : afficher les facettes textuelles correspondant au
contenu de la colonne ville.
Quelles an...
Utiliser les facettes
Activité : afficher les facettes textuelles correspondant au
contenu de la colonne ville.
55/
(blank...
Utiliser les facettes
Les options d’une facette
56/
Récupérer la liste Tri alphabétique (défaut) ou par nombre d’occurrenc...
Utiliser les facettes
Activité : dans la facette ville, afficher les valeurs par « nombre
de choix », et ne conserver que ...
Utiliser les facettes
Activité : dans la facette ville, afficher les valeurs par « nombre
de choix », et ne conserver que ...
Utiliser les facettes
Activité : dans la facette ville, remplacer la valeur « Havre (Le) »
par LE HAVRE
Quel effet sur les...
Utiliser les facettes
Activité : dans la facette ville, remplacer la valeur « Havre (Le) »
par LE HAVRE
60/
Utiliser les facettes
Activité : utiliser la facette ville pour afficher les lignes dont la
ville est CAEN
Utiliser les facettes
Activité : utiliser la facette ville pour afficher les lignes dont la
ville est CAEN
Cliquer
Utiliser les facettes
Activité : utiliser la facette ville pour afficher les lignes dont la
ville est CAEN
facette en oran...
Utiliser les facettes
Activité : utiliser la facette ville pour afficher les lignes dont la
ville est Caen ou CAEN
Utiliser les facettes
Activité : modifier la facette pour sélectionner les lignes dont
la ville est Caen, en plus de CAEN
...
Utiliser les facettes
Activité : utiliser la facette ville pour afficher les lignes dont la
ville n’est ni Caen ni CAEN
66/
Utiliser les facettes
Activité : utiliser la facette ville pour afficher les lignes dont la
ville n’est ni Caen ni CAEN
67...
Utiliser les facettes
Activité : utiliser la facette ville pour afficher les lignes dont la
ville n’est PAS Lyon
facette e...
Utiliser les facettes: pour aller plus loin
Facettes numériques, chronologiques, en nuage de point :
suppose d’avoir des d...
Utiliser les facettes: pour aller plus loin
Facettes personnalisées : suppose une utilisation du langage
GREL (voir plus l...
Utiliser les facettes: pour aller plus loin
Facettes courantes : plusieurs options souvent utiles: par mot,
par doublons, ...
Utiliser les facettes: pour aller plus loin
Activité : A partir de la colonne animal_prefere, appliquer une
facette textue...
Regrouper des valeurs proches
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5....
Regrouper des valeurs proches
Activité : Créer des facettes textuelles pour la colonne ville,
puis grouper les résultats p...
Regrouper des valeurs proches
Activité : Créer des facettes textuelles pour la colonne ville,
puis grouper les résultats p...
Regrouper des valeurs proches
Activité : Créer des facettes textuelles pour la colonne ville,
puis grouper les résultats p...
Regrouper des valeurs proches
Plusieurs algorithmes
77/
Méthodes rapides mais basiques
Regroupe les expressions dont
les «...
Regrouper des valeurs proches
Plusieurs algorithmes
78/
Plus élaborées mais plus lentes
Regroupe les expressions en foncti...
Regrouper des valeurs proches
Attention! Dans certains cas ces algorithmes peuvent faire des
rapprochements non pertinents...
Appliquer des transformations courantes
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de ...
Appliquer des transformations courantes
Rappel:
Si un filtre ou une facette sont actifs, les transformations ne
s’applique...
Appliquer des transformations courantes
Modifier la casse
Activité: Transformer les valeurs de la colonne ville pour
obten...
Appliquer des transformations courantes
Modifier la casse
Editer les cellules > Transformations courantes > En majuscules
...
Appliquer des transformations courantes
Supprimer les espaces superflus
Activité: Ajouter manuellement plusieurs espaces a...
Appliquer des transformations courantes
Supprimer les espaces superflus
Activité: Ajouter manuellement plusieurs espaces a...
Appliquer des transformations courantes
Supprimer les espaces superflus
2/ suppression
Deux opérations
Editer les cellules...
Appliquer des transformations courantes
Transformer du texte en nombres ou en dates
Malgré les apparence, ces nombres et c...
Appliquer des transformations courantes
Transformer du texte en nombres ou en dates
Editer les cellules > Transformations ...
Appliquer des transformations courantes
Transformer du texte en nombres ou en dates
Cette approche ne suffit pas à résoudr...
Appliquer des transformations courantes
Effacer les cellules d’une colonne
Editer les cellules > Transformations courantes...
Appliquer des transformations courantes
Supprimer les valeurs répétées sur plusieurs lignes
Editer les cellules > Vider
91...
Appliquer des transformations courantes
Supprimer les valeurs répétées sur plusieurs lignes
Remarque : le mot « vider » a ...
Appliquer des transformations courantes
Opération inverse : recopier une valeur dans une série de
cellules vides situées e...
Appliquer des transformations courantes
La suppression des valeurs répétées peut être nécessaire
pour d’autres opérations ...
Supprimer des doublons
Activité : Simplifier le fichier en ne gardant qu’une seule ligne
par personne (dans notre cas cela...
Supprimer des doublons
Activité : Simplifier le fichier en ne gardant qu’une seule ligne
par personne
- Tri du fichier en ...
Exporter les données et les traitements
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de ...
Exporter les données transformées
Plusieurs formats d’export
98/98/
Annuler ou rejouer un traitement
Historique permettant d’annuler (« défaire ») ou rejouer
(« refaire) les traitement sans ...
Annuler ou rejouer un traitement
Limite :
- n’enregistre pas les modifications manuelles des cellules
- n’enregistre pas l...
Exporter les traitements
Les traitements peuvent être exportés et réappliqués au jeu de
données ou à un autre jeu présenta...
Réappliquer les traitements
À partir d’un jeu de données fraîchement téléchargé
102/102/
Ouvrir le fichier texte dans lequ...
Réappliquer les traitements
À partir d’un jeu de données fraîchement téléchargé
103/103/
Ouvrir le fichier texte dans lequ...
Lignes et entrées
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tris, filtr...
Lignes et entrées
Des lignes peuvent être regroupées en « entrées » (records) si
elles se rapportent à un même objet.
Trav...
Restructurer des données
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tris...
Restructurer les données
Cas fréquent : passer de plusieurs valeurs / cellule à une seule
Axe horizontal (créer de nouvell...
Nouveau jeu de données
Créer un nouveau projet à partir du fichier exo2.csv
108/108/
Restructurer les données
Éclater sur plusieurs lignes les cellules comprenant des
valeurs multiples
Passer de ceci
À celà
...
Restructurer les données
Éclater sur plusieurs lignes les cellules comprenant des valeurs
multiples
1. Editer les cellules...
Restructurer les données
Remplir automatiquement les nouvelles cellules créées
(procédure vu plus haut)
1. Colonne espece:...
Restructurer les données
Etape de nettoyage: Harmoniser les villes et les espèces en
utilisant uniquement les facettes et ...
Restructurer les données
Regrouper sur une seule ligne des valeurs multiples
Passer de ceci
À ceci
113/113/
Restructurer les données
Regrouper sur une seule ligne des valeurs multiples
1. Les données doivent être organisées en « e...
Restructurer les données
Regrouper sur une seule ligne des valeurs multiples
1. Editer les cellules > Joindre les cellules...
Restructurer les données
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
116/116/
Restructurer les données
117/117/
Décocher par
prudence
Eclater une colonne contenant plusieurs valeurs en plusieurs
colon...
Restructurer les données
Les opérations de « transposition »
Revenir à cette étape
Restructurer les données
Les opérations de « transposition »
Passer de A
Restructurer les données
Les opérations de « transposition »
Transposer > Transposer les cellules au travers des colonnes ...
Restructurer les données
Les opérations de « transposition »
Passer de A
Restructurer les données
Les opérations de « transposition »
Colonne espece_nombre > Transposer > Transposer les lignes en...
Restructurer les données
123/123/
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Passer de A
Restructurer les données
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Colonne espece_nombre 1 > D...
Restructurer les données
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Même opération pour la colo...
Restructurer les données
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Supprimer les colonnes inut...
Restructurer les données
127/127/
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
2e option : défini...
Restructurer les données
128/128/
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
2e option : défini...
Restructurer des données
1. Présentation
2. Installation et paramétrage
3. Import des données
4. Espace de travail
5. Tris...
Introduction au langage GREL
Pendant quelques secondes, une information s’affiche après
chaque transformation
Ex:
Elle ind...
Introduction au langage GREL
Les facettes et transformations personnalisées reposent sur
des formules de ce type, saisies ...
Introduction au langage GREL
Dans la colonne espece, ouvrir le menu Editer les cellules >
Transformer
132/132/
Formule
(sa...
Appliquer des transformations
personnalisées
Activité : dans la colonne espece, remplacer tous les « o » par
des « O » : f...
Introduction au langage GREL
Syntaxe générale
 Pas de = avant les fonctions
 value désigne le contenu d’une cellule
 + ...
Introduction au langage GREL
Intérêt:
Certaines fonctions sont absentes d’Excel ou difficile à
reproduire, notamment :
- U...
Introduction au langage GREL
Deux menus utiles: aide et historique
136/136/
Aide précieuse!
Utiliser Crtrl+F pour recherch...
Introduction au langage GREL
Deux menus utiles: aide et historique
137/137/
Historique
Permet de réutiliser une formule
Introduction au langage GREL
Exemple de fonctions utiles
length () longueur de la chaîne de caractère
trim () supprime les...
Introduction au langage GREL
Exemple de fonctions utiles
replace (x, y) remplace la chaîne de caractère x par y.
Ex : "zor...
Introduction au langage GREL
Exemple de fonctions utiles
cross (cell c, Nom_projet2, Nom_colonne) permet de croiser deux p...
Introduction au langage GREL
Récupération et exploiter des données sur Internet :
- API JSON
- API XML
- Page HTML
Remarqu...
Introduction au langage GREL
Activité : récupérer la population des villes à partir de l’API
https://geo.api.gouv.fr/
La s...
Introduction au langage GREL
Activité : récupérer la population des villes à partir de l’API
https://geo.api.gouv.fr/
1re ...
Introduction au langage GREL
2e étape : Récupérer les données dans une colonne data
Colonne liste-urls > Éditer colonne > ...
Introduction au langage GREL
Résultat intermédiaire
145/145/
Introduction au langage GREL
3e étape : Exploitation des données : créer une nouvelle
colonne à partir de data
Colonne dat...
Introduction au langage GREL
Résultat final
147/147/
Pour aller plus loin
Documentation officielle
 Site
 Documentation (wiki)
Quelques tutoriels et retours d’expérience
 M...
Prochain SlideShare
Chargement dans…5
×

Découvrez OpenRefine: un outil gratuit pour nettoyer, préparer et enrichir vos données

1 004 vues

Publié le

Atelier de découverte d'Openrefine organisé au Learning Centre SophiaTech
23/10/2017
par Mathieu Saby, BU de l'Université Nice Sophia-Antipolis

Adresse du dossier (contient la présentation aux formats Powerpoint et Google slide, l'affiche, et les données utilisées comme exercice): https://drive.google.com/drive/folders/0B1NKejaqcJG5MnJ2SXZSMFlVUEE?usp=sharing

Publié dans : Formation

Découvrez OpenRefine: un outil gratuit pour nettoyer, préparer et enrichir vos données

  1. 1. Découvrez OpenRefine: un outil gratuit pour nettoyer, préparer et enrichir vos données BU UNS Atelier Learning Centre SophiaTech 23/10/2017 Mathieu Saby mathieu.saby@unice.fr 1/
  2. 2. Plan 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introduction au langage GREL 2/
  3. 3. Présentation d’Openrefine 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introduction au langage GREL 3/
  4. 4. Nettoyer, préparer, enrichir des données Avant d’analyser des données il faut souvent les nettoyer ou les préparer, surtout si elles proviennent de sources multiples ou si leur qualité n’est pas garantie. La nuance est ténue mais on peut distinguer : - Le nettoyage : données hétérogènes, incomplètes, erronées ou bruitées, mal normalisées. - La préparation : format, organisation ou codage des données non adaptés à l’outil d’analyse ou aux questions à explorer. On peut également être amené à les enrichir, par exemple en les croisant avec d’autres données ou en récupérant des informations sur Internet. 4/
  5. 5. Nettoyer, préparer, enrichir des données Quels outils? - Tableurs : Excel, Calc (Libreoffice), Google Drive - Langages : Bash, R, Python… - Outils spécialisés : OpenRefine, Talend Data Preparation, Trifacta, Data Science Studio… 5/
  6. 6. Présentation du logiciel  Historique  2009 : logiciel Gridworks développé par David François Huynh de Metaweb, comme outil pour faciliter l’alimentation de leur base de connaissance sémantique Freebase  rachat de Metaweb par Google  2010-2012 : renommé Google Refine  libération du code par Google  2012 : renommé OpenRefine  Modèle économique  Logiciel opensource, donc gratuit  Maitenu par une (petite) communauté de développeurs  Versions  Dernière version : 2.7 (2017). À installer de préférence 6/
  7. 7. La communauté  Site officiel: http://openrefine.org/  Documentation : https://github.com/OpenRefine/OpenRefine/wiki  Liste d’échange : https://groups.google.com/forum/#!forum/openrefine  StackOverflow : https://stackoverflow.com/questions/tagged/openrefine  Nombreux tutoriels, vidéos, blogs… 7/
  8. 8. Présentation du logiciel  Ce n’est pas un tableur contrairement aux apparences:  logique de modification globale d’un fichier colonne par colonne, même s’il est possible d’éditer une cellule séparément  pas fait pour saisir des données, réaliser des calculs ou des graphiques 8/
  9. 9. Fonctionnalités principales  Explorer un jeu de données : tris, facettes, regroupement de valeurs proches  Modifier l’organisation d’un fichier et le contenu des cellules, en mode graphique ou avec des formules  Enrichir des données (web services, scraping, réconciliation)  Documenter les modifications et les enrichissements pour pouvoir les rejouer à volonté 9/ Idéal pour des traiter des données hétérogènes
  10. 10. Positionnement d’OpenRefine Avantages  Fonctions absentes des tableurs traditionnels  Interface graphique (vs. scripts)  Totalement libre et gratuit (vs. Dataiku DSS, Talend ou Trifacta)  Installation PC, Linux, Mac  Enregistrement des traitements réalisés  Maîtrise des données (vs outils en cloud)  Large communauté d’utilisateurs Inconvénients  Performance limitée (100 000 lignes maxi environ si nombreuses colonnes)  Ne traite pas de données en flux  Gourmand en mémoire  Pas de fonction collaborative  Formats d’imports limités  Pas de connexion avec des outils « big data »  Langage spécifique 10/
  11. 11. Quelques exemples d’utilisation  Bibliothèques, archives, musées  Liste d’exemples recensés dans Bibliopedia  Corriger et modifier des données au format MARC  Créer un tableau à partir de références bibliographiques  Extraire des cotes archivistiques à partir d’inventaires en EAD  Comparer deux listes de revues  Supprimer des doublons dans une liste de revues au format KBART et vérifier leur appartenance à un package en interrogeant un webservice  Nettoyer une liste de cessionnaires de brevets  Récupérer l’identifiant BNF ou ABES d’une série de notices 11/
  12. 12. Quelques exemples d’utilisation  Journalistes et réutilisateurs de données ouvertes  Normalisation, clustering et transposition colonnes-lignes de données publiques  Récupération de résultats électoraux sur une page web et nettoyage  Histoire  Normalisation et nettoyage de données issues d’un site de musée  Récupération de données sur le web  Science de la vie  Normalisation de données sur les abeiles  Nettoyage de données sur les oiseaux 12/
  13. 13. Présentation d’Openrefine 1. Introduction au nettoyage et à la préparation de données 2. Présentation 3. Installation et paramétrage 4. Import des données 5. Espace de travail 6. Tris, filtres et facettes 7. Regrouper des valeurs proches 8. Appliquer des transformations courantes 9. Exporter les données et les traitements 10. Lignes et entrées 11. Restructurer des données 12. Introduction au langage GREL 13/
  14. 14. Aspects techniques  Installation mono-poste, sous PC, Mac et Linux  Interface accessible via un navigateur internet (adresse http://127.0.0.1:3333/ )  Les données et le logiciel restent sur le PC (pas besoin de connexion Internet)  Extension possible avec des plug-ins développés par la communauté (pas tous compatibles avec la version 2.7)  Accès possible par API (permet une automatisation des traitements)  Peut être containerisé avec Docker 14/
  15. 15. Installation http://openrefine.org/download.html 15/
  16. 16. Contraintes liées à Java  OpenRefine est écrit en langage Java  Cela peut compliquer l’installation sous Mac : en cas de problème  Vérifier que Java 8 est installé (ce n’est pas le cas par défaut)  Vérifier que la variable d’environnement $JAVA_PATH contient bien le chemin de cette version  Pour utiliser plus de 3 Go de mémoire, il faut installer et utiliser la version 64 bits de Java 16/
  17. 17. Paramétrage facultatif : ajouter de la mémoire Par défaut OpenRefine utilise 1 Go de mémoire vive au maximum. Il peut être utile de modifier la configuration pour allouer plus de mémoire : Sous Windows : dans le fichier refine.ini, modifier la ligne REFINE_MEMORY Pour que refine.ini soit pris en compte il faudra lancer OpenRefine avec refine.bat et non openrefine.exe 17/
  18. 18. Paramétrage facultatif : ajouter de la mémoireSous Mac : ouvrir le fichier ‘/Applications/OpenRefine.app/Contents/info.plist’ et modifier la valeur `<string>-Xmx1024</string>` (par ex: `<string>- Xmx2048</string>` pour doubler la mémoire maximale) 18/
  19. 19. Fermeture 19/  Puisque le logiciel tourne en tâche de fond, fermer le navigateur ne suffit pas fermer proprement Openrefine. Pour cela il faut…  Sous Windows : fermer la console  Sous Mac : utiliser le menu Quitter
  20. 20. Import des données 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 20/
  21. 21. Lancer OpenRefine Ouvrir un navigateur (Chrome ou Firefox) Windows : lancer de préférence refine.bat (prise en compte de la configuration). Possibilité de faire un lien dans le menu démarrer. Mac : chercher OpenRefine dans les applications Si OpenRefine ne s’ouvre pas, saisir http://localhost:3333 dans le navigateur 21/
  22. 22. Les fichiers d’exercices Télécharger sur votre bureau deux mini jeux de données fictives  Exo 1 : http://bit.ly/2gBR06v  Exo 2: http://bit.ly/2zunAuQ 22/
  23. 23. Importer des données Projet = un fichier de données + un ensemble de traitements Un projet peut être réouvert, ou importé depuis une autre installation d’OpenRefine 23/
  24. 24. Importer des données Plusieurs formats de fichiers possibles Depuis plusieurs emplacements 24/
  25. 25. Formats reconnus Données tabulées (lignes/colonnes) De préférence utiliser le format csv ou autre format brut (tsv…) L’import de fichiers au format Excel, LibreOffice ou Google est possible mais peut consommer beaucoup de ressources. Données XML et JSON Ne sont pas manipulées directement par Openrefine mais converties en données tabulées. La conversion peut consommer beaucoup de ressources. Elle fonctionne bien pour des fichiers simples, mais les fichiers complexes peuvent poser problème. 25/
  26. 26. Importer des données Créer un nouveau projet à partir du fichier exo1.csv 26/
  27. 27. Importer des données Charger le fichier dans OpenRefine le fichier précédemment enregistré sur le Bureau 27/
  28. 28. Importer des données Ecran d’import en 2 parties : aperçu des données + paramètres 28/
  29. 29. Importer des données Principaux paramètres d’import 29/ Encodage des caractères (en général UTF-8 ou ISO 8859-1) Séparateur de colonnes (en général , mais parfois ; si le fichier a été créé avec une version française d’Excel Modifier si entêtes multilignes Détection des nombres et des dates (dans le doute, à éviter) En général à décocher
  30. 30. Importer des données Pour lire et écrire en français… choisir l’encodage correspondant à celui du fichier 30/ 1 av. St Barthélemy 1 av. St Barthélemy
  31. 31. Importer des données Prudence avec la détection automatique des nombres et des dates ! Dans le doute, désactiver l’option. (remarque également valable pour Excel ou LibreOffice)  Une série de chiffres n’est pas forcément un nombre.  Ex: Numéros de téléphone : le 0 initial doit être préservé!  Formats de nombres et formats monétaires différents  Ex : 1,14 en France = 1.14 aux USA  Ex : 10 € mais $ 10  Formats de dates différents selon les pays.  Ex : 02-03-1979 = 2 mars 1979 en Europe 3 février 1979 aux USA 31/
  32. 32. Importer des données Une fois les paramètres d’imports choisis, lancer l’import 32/ [Optionnel] Changer le nom du projet Créer un projet
  33. 33. Importer des données Il est également possible d’importer plusieurs fichiers dans le même projet. Ils doivent être structurés de manière identique (nombres et noms des colonnes). 33/
  34. 34. Importer des données Il est également possible d’importer plusieurs fichiers dans le même projet. La 1re colonne (File) du projet indiquera le nom du fichier d’origine pour chaque ligne. 34/
  35. 35. Espace de travail 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 35/
  36. 36. L’espace de travail 36/ Lien vers le projet ExportNouveau projetContenu du fichier Facettes et filtres Historique
  37. 37. L’espace de travail 37/ Colonnes de données Nb lignes affichées Voir les lignes précédentes ou suivantesNb lignes du fichier Étoiles et marques: pour isoler certaines lignes Numéro de ligne (automatique)
  38. 38. Différences avec un tableur On ne voit pas toutes les lignes. Ce n’est pas le but de l’outil On applique les formules à des colonnes entières, pas à des cellules Les données sont séparées des traitements : les formules ne sont pas contenues dans les cellules Une seule feuille Pas de graphiques 38/
  39. 39. Comment explorer et manipuler les données Modification d’une cellule : bouton edit visible au survol  Ponctuelle  Pour toutes cellules ayant la même valeur (dans la même colonne ; ne s’applique pas aux cellules vides) Actions globales : menu visible en cliquant sur le bouton en haut de chaque colonne  Affichage sélectif (tris, filtres, facettes…)  Modifications (remplacements, nouvelles colonnes…) 39/
  40. 40. Les menus contextuels Les plus fonctions les utilisées : facettes, édition de cellules et de colonnes, tri Fonction propre à la 1re colonne : suppression de lignes 40/ Colonne ordinaire Colonne « Toutes » (1re position)
  41. 41. Réordonner ou supprimer des colonnes Dans la 1re colonne Toutes 41/
  42. 42. Tris, filtres et facettes 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 42/
  43. 43. Trier les données Activité : trier les données en fonction des valeurs de la colonne code_personne (ordre alphabétique, sans tenir compte des majuscules) 43/
  44. 44. Trier les données Activité : trier les données en fonction des valeurs de la colonne code_personne 44/ Plusieurs options, mais le paramétrage de base correspont à notre besoin (a-z, insensible à la casse)
  45. 45. Trier les données Activité : trier les données en fonction des valeurs de la colonne code_personne 45/ Pour l’ordre d’origine est préservé et le tri ne concerne que l’affichage
  46. 46. Trier les données Retrier de façon permanente 46/ Menu visible après le tri
  47. 47. Filtrer les données Activité : filtrer le fichier pour afficher les lignes dont la colonne code_personne contient le mot « P005 » ET la colonne animal_prefere le mot « chien » 47/
  48. 48. Filtrer les données Activité : filtrer le fichier pour afficher les lignes dont la colonne code_personne contient le mot « P005 » ET la colonne animal_prefere le mot « chien » 48/
  49. 49. Filtrer les données Toutes les opérations (export, nouveaux filtres, facettes, modifications groupées) s’opèreront uniquement sur les données filtrées. Ex: modification groupée la colonne animal_prefere : uniquement 1 lignes modifiée 49/
  50. 50. Filtrer les données Deux options pour les filtres (peuvent s’additionner) 50/ Prendre ou compte ou non la casse (« nice » = « NICE » ?) Traiter ou non l’expression comme une expression rationnelle (ou expression régulière): Ex: Si l’option est activée, [ab][56] sera interprété comme « a5 ou a6 ou b5 ou b6 » P.A[0-9]* sera interprété comme « P suivi d’un caractère, suivi de A, suivi d’une suite de chiffres » Ni(ce|ssa) sera interprété comme « Nice ou Nissa » Pour éviter un bug, saisir l’expression rationnelle avant de cocher la case
  51. 51. Filtrer les données Pour annuler un filtre, cliquez sur la croix dans le coin supérieur gauche du filtre Nous allons annuler tous les filtres Pour cela, cliquez sur Tout supprimer au dessus des filtres 51/
  52. 52. Utiliser les facettes Les facettes permettent d’avoir un aperçu synthétique sur le contenu d’une colonne. Utile pour repérer des anomalies, isoler des valeurs à modifier, modifier globalement un codage… 52/ Ex : modifier et corriger un codage Vivant Vivant Vivant Mort Dead Vivant … 1 1 1 0 0 1 … 1 (35) 0 (501) Vivant (35) Mort (500) Dead (1)
  53. 53. Utiliser les facettes Par défaut, seules les 2000 premières choix sont affichées. S’il y en a plus, Openrefine propose d’augmenter cette limite, ou de n’afficher que les choix les plus fréquents (« facette par nombre de choix »). Le choix reste mémorisé lors des utilisations ultérieures. 53/
  54. 54. Utiliser les facettes Activité : afficher les facettes textuelles correspondant au contenu de la colonne ville. Quelles anomalies repère-t-on? 54/
  55. 55. Utiliser les facettes Activité : afficher les facettes textuelles correspondant au contenu de la colonne ville. 55/ (blank) : valeur vide
  56. 56. Utiliser les facettes Les options d’une facette 56/ Récupérer la liste Tri alphabétique (défaut) ou par nombre d’occurrences valeurs vides (blank) toujours à la fin Modifier la facette (complexe) Regrouper les valeurs semblables
  57. 57. Utiliser les facettes Activité : dans la facette ville, afficher les valeurs par « nombre de choix », et ne conserver que celles présentes 2 fois. 57/
  58. 58. Utiliser les facettes Activité : dans la facette ville, afficher les valeurs par « nombre de choix », et ne conserver que celles présentes 2 fois. 58/ 1 seule valeur, présente 2 fois histogramme
  59. 59. Utiliser les facettes Activité : dans la facette ville, remplacer la valeur « Havre (Le) » par LE HAVRE Quel effet sur les données? 59/
  60. 60. Utiliser les facettes Activité : dans la facette ville, remplacer la valeur « Havre (Le) » par LE HAVRE 60/
  61. 61. Utiliser les facettes Activité : utiliser la facette ville pour afficher les lignes dont la ville est CAEN
  62. 62. Utiliser les facettes Activité : utiliser la facette ville pour afficher les lignes dont la ville est CAEN Cliquer
  63. 63. Utiliser les facettes Activité : utiliser la facette ville pour afficher les lignes dont la ville est CAEN facette en orange : facette active
  64. 64. Utiliser les facettes Activité : utiliser la facette ville pour afficher les lignes dont la ville est Caen ou CAEN
  65. 65. Utiliser les facettes Activité : modifier la facette pour sélectionner les lignes dont la ville est Caen, en plus de CAEN Survoler Cliquer
  66. 66. Utiliser les facettes Activité : utiliser la facette ville pour afficher les lignes dont la ville n’est ni Caen ni CAEN 66/
  67. 67. Utiliser les facettes Activité : utiliser la facette ville pour afficher les lignes dont la ville n’est ni Caen ni CAEN 67/ Cliquer
  68. 68. Utiliser les facettes Activité : utiliser la facette ville pour afficher les lignes dont la ville n’est PAS Lyon facette en noir barré : facette inversée
  69. 69. Utiliser les facettes: pour aller plus loin Facettes numériques, chronologiques, en nuage de point : suppose d’avoir des données reconnues par OpenRefine comme des dates ou des nombres (pas le cas dans notre exemple) 69/
  70. 70. Utiliser les facettes: pour aller plus loin Facettes personnalisées : suppose une utilisation du langage GREL (voir plus loin) 70/
  71. 71. Utiliser les facettes: pour aller plus loin Facettes courantes : plusieurs options souvent utiles: par mot, par doublons, par longueur de texte, par blanc (valeur vide ou non) 71/
  72. 72. Utiliser les facettes: pour aller plus loin Activité : A partir de la colonne animal_prefere, appliquer une facette textuelle ordinaire, puis une facette « par mots ». Quelle différence? 72/ Facette textuelle Facette par mot
  73. 73. Regrouper des valeurs proches 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 73/
  74. 74. Regrouper des valeurs proches Activité : Créer des facettes textuelles pour la colonne ville, puis grouper les résultats pour repérer des variantes d’orthographe ou de présentation.
  75. 75. Regrouper des valeurs proches Activité : Créer des facettes textuelles pour la colonne ville, puis grouper les résultats pour repérer des variantes d’orthographe ou de typographie. 75/
  76. 76. Regrouper des valeurs proches Activité : Créer des facettes textuelles pour la colonne ville, puis grouper les résultats pour repérer des variantes d’orthographe ou de typographie. 76/ Cliquer sur une forme pour changer la forme retenue Sélectionner les groupes à fusionner Ou bien… Tout sélectionner
  77. 77. Regrouper des valeurs proches Plusieurs algorithmes 77/ Méthodes rapides mais basiques Regroupe les expressions dont les « clés » sont identiques Regroupe les expressions ne différant que par la casse, l’accentuation, la ponctuation, le nombre d’espaces, l’ordre ou la répétition des mots - Ex : école = éc-ole = éCOLE = ecole - Ex : Liberté, égalité = EGALITE: LIBERTE : EGALITE Regroupe les expressions utilisant les mêmes caractères (paramètre 1) ou bigrammes (paramètre 2). - Ex (param 1) : paris = sirap = sirapa = pparaisiapa - Ex (param 2) : paris-plage = paris plage Regroupe les expressions ayant la même prononciation (en anglais) Regroupe les expressions ayant la même prononciation (en allemand)
  78. 78. Regrouper des valeurs proches Plusieurs algorithmes 78/ Plus élaborées mais plus lentes Regroupe les expressions en fonction du nombre d’étapes élémentaires (suppression, ajout, modification de caractère) nécessaires pour passer de l’une à l’autre. Les variantes de caractères (accentués, majuscules, minuscules) sont traités comme des caractères différents. Augmenter le paramètre « rayon » (distance) diminue la sensibilité de l’algorithme : - Ex : paris = « distance de 1 » de Paris - Ex : paris = « distance de 2 » de Pars - Ex : paris = « distance de 5 » de dépaysé Regroupe les expressions par complexité aglorithmique (utilisé en génétique) Baisser le paramètre « taille de bloc » pour améliorer la détection (attention risque de ralentissement !
  79. 79. Regrouper des valeurs proches Attention! Dans certains cas ces algorithmes peuvent faire des rapprochements non pertinents. Résultat : on passe de 9 villes à 4 villes 79/
  80. 80. Appliquer des transformations courantes 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 80/
  81. 81. Appliquer des transformations courantes Rappel: Si un filtre ou une facette sont actifs, les transformations ne s’appliquent qu’aux lignes sélectionnées. 81/81/
  82. 82. Appliquer des transformations courantes Modifier la casse Activité: Transformer les valeurs de la colonne ville pour obtenir passer tous les noms en majuscules 82/82/
  83. 83. Appliquer des transformations courantes Modifier la casse Editer les cellules > Transformations courantes > En majuscules 83/83/
  84. 84. Appliquer des transformations courantes Supprimer les espaces superflus Activité: Ajouter manuellement plusieurs espaces au début et à l’intérieur d’une cellule, puis supprimer ces espaces en utilisant le menu. 84/84/
  85. 85. Appliquer des transformations courantes Supprimer les espaces superflus Activité: Ajouter manuellement plusieurs espaces au début et à l’intérieur d’une cellule, puis supprimer ces espaces en utilisant le menu. 1/ ajout des espaces (les espaces ne seront pas visibles dans l’affichage général des données, mais ils ont bien été ajoutés) 85/85/
  86. 86. Appliquer des transformations courantes Supprimer les espaces superflus 2/ suppression Deux opérations Editer les cellules > Transformations courantes > Supprimer les espaces de début et de fin Editer les cellules > Transformations courantes > Rassembler les espaces consécutifs 86/86/
  87. 87. Appliquer des transformations courantes Transformer du texte en nombres ou en dates Malgré les apparence, ces nombres et ces dates sont considérés comme de simple suite de caractères. Mais l’hétérogénéité des données peut rendre leur reconnaissance délicate. 87/87/ JJ-MM-2017 JJ/MM/2017 JJ:MM:2017 JJ/ MM (2017) Unité en k€ Unité en € Séparateur décimal , Séparateur décimal .
  88. 88. Appliquer des transformations courantes Transformer du texte en nombres ou en dates Editer les cellules > Transformations courantes > En nombre / En date 88/88/
  89. 89. Appliquer des transformations courantes Transformer du texte en nombres ou en dates Cette approche ne suffit pas à résoudre les cas complexes (structure atypique, variation d’unités, séparateur décimal , )  besoin d’utiliser le langage GREL 89/89/ Les valeurs de type non textuel (dates, nombre, booléens) sont en vert, et alignés à droite
  90. 90. Appliquer des transformations courantes Effacer les cellules d’une colonne Editer les cellules > Transformations courantes > Vider les cellules 90/90/
  91. 91. Appliquer des transformations courantes Supprimer les valeurs répétées sur plusieurs lignes Editer les cellules > Vider 91/91/
  92. 92. Appliquer des transformations courantes Supprimer les valeurs répétées sur plusieurs lignes Remarque : le mot « vider » a ici une signification différente que dans l’opération « vider les cellules », qui supprime tout le contenu des cellules. 92/92/
  93. 93. Appliquer des transformations courantes Opération inverse : recopier une valeur dans une série de cellules vides situées en dessous Editer les cellules > Remplir 93/93/
  94. 94. Appliquer des transformations courantes La suppression des valeurs répétées peut être nécessaire pour d’autres opérations : - Supprimer des doublons - Créer des « entrées » regroupant plusieurs lignes 94/94/
  95. 95. Supprimer des doublons Activité : Simplifier le fichier en ne gardant qu’une seule ligne par personne (dans notre cas cela entraînera une perte d’information, mais c’est pour la démonstratio…) 95/
  96. 96. Supprimer des doublons Activité : Simplifier le fichier en ne gardant qu’une seule ligne par personne - Tri du fichier en fonction de la colonne code_personne et enregistrement du tri - Suppression des valeurs répétées pour la colonne code_personne (Éditer les cellules -> Vider) - Facette par blanc sur la colonne code_personne (Facette courante -> Facette par blanc) - Sélection de la facette « true » dans le panneau de gauche - Suppression des lignes concernées (colonne Toutes > éditer les lignes > supprimer les lignes) 96/
  97. 97. Exporter les données et les traitements 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 97/
  98. 98. Exporter les données transformées Plusieurs formats d’export 98/98/
  99. 99. Annuler ou rejouer un traitement Historique permettant d’annuler (« défaire ») ou rejouer (« refaire) les traitement sans limites 99/99/
  100. 100. Annuler ou rejouer un traitement Limite : - n’enregistre pas les modifications manuelles des cellules - n’enregistre pas les facettes ni les tris - en cas de retour en arrière jusqu’à une opération N et d’ajout de nouvelles opérations, perte de l’historique des opérations qui suivaient l’opération N 100/100/
  101. 101. Exporter les traitements Les traitements peuvent être exportés et réappliqués au jeu de données ou à un autre jeu présentant la même structure. Extraire l’historique pour enregistrer les traitements : 101/101/ Copier dans le presse-papier (Ctrl+C / Cmd+C) Créer un fichier texte sur l’ordinateur Ouvrir avec un éditeur de texte Coller le contenu du presse papier (Ctrl+V / Cmd+V) Enregistrer le fichier
  102. 102. Réappliquer les traitements À partir d’un jeu de données fraîchement téléchargé 102/102/ Ouvrir le fichier texte dans lequel les traitements ont été enregistrés Sélectionner tout le contenu et copier dans le presse-papier (Ctrl+C / Cmd+C) Coller dans OpenRefine (Ctrl+V/ Cmd+V) Valider
  103. 103. Réappliquer les traitements À partir d’un jeu de données fraîchement téléchargé 103/103/ Ouvrir le fichier texte dans lequel les traitements ont été enregistrés Sélectionner tout le contenu et copier dans le presse-papier (Ctrl+C / Cmd+C) Coller dans OpenRefine (Ctrl+V/ Cmd+V) Valider
  104. 104. Lignes et entrées 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 104/
  105. 105. Lignes et entrées Des lignes peuvent être regroupées en « entrées » (records) si elles se rapportent à un même objet. Travailler avec des entrées permet des traitements avancés. Pour créer des entrées : 1/ trier les données en fonction de la colonne servant de clé de regroupement 2/ déplacer cette colonne en 1re position du tableau 3/ supprimer les valeurs répétées dans cette colonne 105/105/
  106. 106. Restructurer des données 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 106/
  107. 107. Restructurer les données Cas fréquent : passer de plusieurs valeurs / cellule à une seule Axe horizontal (créer de nouvelles colonnes) Axe vertical (créer de nouvelles lignes) 107/107/ Nom Ville Dupont Nice|Tours Durand Bourges Martin Nice|Paris Nom Ville 1 Ville 2 Dupont Nice Tours Durand Bourges Martin Nice Paris Nom Ville Dupont Nice|Tours Durand Bourges Martin Nice|Paris Nom Ville Dupont Nice Dupont Tours Durand Bourges Martin Nice Martin ParisRisque : croire qu’il y a 2 Martin…
  108. 108. Nouveau jeu de données Créer un nouveau projet à partir du fichier exo2.csv 108/108/
  109. 109. Restructurer les données Éclater sur plusieurs lignes les cellules comprenant des valeurs multiples Passer de ceci À celà 109/109/
  110. 110. Restructurer les données Éclater sur plusieurs lignes les cellules comprenant des valeurs multiples 1. Editer les cellules > Diviser les cellules multivaluées 2. Choisir le séparateur (ici « ; » ). Le séparateur peut être un mot 110/110/
  111. 111. Restructurer les données Remplir automatiquement les nouvelles cellules créées (procédure vu plus haut) 1. Colonne espece: Editer les cellules > Remplir 2. Colonne nombre: Editer les cellules > Remplir 111/111/
  112. 112. Restructurer les données Etape de nettoyage: Harmoniser les villes et les espèces en utilisant uniquement les facettes et le clustering 112/112/
  113. 113. Restructurer les données Regrouper sur une seule ligne des valeurs multiples Passer de ceci À ceci 113/113/
  114. 114. Restructurer les données Regrouper sur une seule ligne des valeurs multiples 1. Les données doivent être organisées en « entrées » (vu plus haut : tri sur 1re colonne puis Vider les cellules répétées) 114/114/ La ville sera utilisée pour définir les entrées
  115. 115. Restructurer les données Regrouper sur une seule ligne des valeurs multiples 1. Editer les cellules > Joindre les cellules multivaluées 2. Choisir un séparateur 115/115/ Répéter pour les 2 colonnes 7 entrées 7 lignes
  116. 116. Restructurer les données Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes 116/116/
  117. 117. Restructurer les données 117/117/ Décocher par prudence Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes 1re option : définir un séparateur
  118. 118. Restructurer les données Les opérations de « transposition » Revenir à cette étape
  119. 119. Restructurer les données Les opérations de « transposition » Passer de A
  120. 120. Restructurer les données Les opérations de « transposition » Transposer > Transposer les cellules au travers des colonnes en lignes Options : - résultat dans une seule colonne (« espece_nombre ») - préfixer le nom de la colonne d’origine à chaque cellule
  121. 121. Restructurer les données Les opérations de « transposition » Passer de A
  122. 122. Restructurer les données Les opérations de « transposition » Colonne espece_nombre > Transposer > Transposer les lignes en colonnes Options : - Transposer toutes les 2e lignes dans une nouvelle colonne
  123. 123. Restructurer les données 123/123/ Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Passer de A
  124. 124. Restructurer les données Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Colonne espece_nombre 1 > Diviser en plusieurs colonnes Options : - Séparateur « : » 125/
  125. 125. Restructurer les données Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Même opération pour la colonne espece_nombre 2 126/
  126. 126. Restructurer les données Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Supprimer les colonnes inutiles et renommer les colonnes restantes 126/
  127. 127. Restructurer les données 127/127/ Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes 2e option : définir la longueur de chaque champ
  128. 128. Restructurer les données 128/128/ Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes 2e option : définir la longueur de chaque champrésultat
  129. 129. Restructurer des données 1. Présentation 2. Installation et paramétrage 3. Import des données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Appliquer des transformations courantes 8. Exporter les données et les traitements 9. Lignes et entrées 10. Restructurer des données 11. Introdution au langage GREL 129/
  130. 130. Introduction au langage GREL Pendant quelques secondes, une information s’affiche après chaque transformation Ex: Elle indique la formule utilisée par OpenRefine. Ici : value.trim() supprime les espaces initiaux et finaux value.replace(/s+/,’’) simplifie les espaces répétés Ces formules se retrouvent aussi dans l’historique des traitements. 130/130/
  131. 131. Introduction au langage GREL Les facettes et transformations personnalisées reposent sur des formules de ce type, saisies manuellement. Elles utilisent le langage GREL (Google Refine Expression Language, ou General Refine Expression Language). Documentation : https://github.com/OpenRefine/OpenRefine/wiki/General- Refine-Expression-Language Il est aussi possible d’utiliser deux autres langages (Python et Clojure) pour des cas spécifiques. 131/131/
  132. 132. Introduction au langage GREL Dans la colonne espece, ouvrir le menu Editer les cellules > Transformer 132/132/ Formule (sans = initial) Résultat de la formule
  133. 133. Appliquer des transformations personnalisées Activité : dans la colonne espece, remplacer tous les « o » par des « O » : formule value.replace("o","O") 133/133/ Prévisualisation du résultat valider
  134. 134. Introduction au langage GREL Syntaxe générale  Pas de = avant les fonctions  value désigne le contenu d’une cellule  + permet de concaténer deux valeurs. Ex: "a"+"b" -> "ab"  Nom des fonctions sensible aux majuscules  Les fonctions sont suivies de (parametre1, parametre2…), ou de () en absence de paramètre  Une fonction peut s’écrire de deux manières :  value.nom_de_la_fonction(parametres). Ex: value.trim () ou  nom_de_la_fonction(value, parametres). Ex: trim (value) 134/134/
  135. 135. Introduction au langage GREL Intérêt: Certaines fonctions sont absentes d’Excel ou difficile à reproduire, notamment : - Utilisation d’expressions régulières - Récupération de données sur Internet - Manipulation de données au format JSON, XML, HTML 135/135/
  136. 136. Introduction au langage GREL Deux menus utiles: aide et historique 136/136/ Aide précieuse! Utiliser Crtrl+F pour rechercher une commande
  137. 137. Introduction au langage GREL Deux menus utiles: aide et historique 137/137/ Historique Permet de réutiliser une formule
  138. 138. Introduction au langage GREL Exemple de fonctions utiles length () longueur de la chaîne de caractère trim () supprime les espaces initiaux et finaux toUppercase() passe en majuscules (y compris lettres accentuées) Ex: "école".toUppercase() -> « ÉCOLE » toLowercase () passe en minuscules indexOf (x) renvoie la position de x (Attention, la numérotation commence à 0) Ex: "bleu".indexOf (‘b‘) -> 0 substring (pos1,pos2) extrait les caractères entre pos1 et pos2 (Attention, la numérotation commence à 0 et pos2 est exclu) Ex: "bleu".substring(1,3) -> « le » (lettres de position 1 et 2) 138/138/
  139. 139. Introduction au langage GREL Exemple de fonctions utiles replace (x, y) remplace la chaîne de caractère x par y. Ex : "zorro".replace (‘zo’,’x’) -> "xrro" replaceChars (x,y) replace les caractères contenus dans x par z Ex : "zorro".replaceChars (‘zo’,’x’) -> "xrx" split (x) décompose la valeur en tableau, en utilisant x comme séparateur. Les éléments du tableau sont accessibles par [n] (numérotation à partir de 0) Ex : "01/12/2015".split(‘/’)[0] -> « 01 » (1er élément du tableau) Ex : "01/12/2015".split(‘/’)[1] -> « 12 » (2er élément du tableau) Ex : "01/12/2015".split(‘/’)[2] -> « 2015 » (3er élément du tableau) join (t, s) inverse de split : agrège les éléments d’un tableau t en utilisant comme séparateur la chaîne de caractères s. 139/139/
  140. 140. Introduction au langage GREL Exemple de fonctions utiles cross (cell c, Nom_projet2, Nom_colonne) permet de croiser deux projets : retourne un tableau de 0, 1 ou + lignes du projet Nom_projet2 pour lesquelles les cellules de la colonne Nom_colonne ont le même contenu que la cellule c. parseJson (s) : analyse la chaîne s et renvoie un objet manipulable Ex : value.parseJson()["element-niv1"]["element-niv2"] parseHtml (s) : analyse la chaîne s et renvoie un objet manipulable avec d’autres fonctions Ex: value.parseHtml().select("div#content")[0].select("tr").toString() 140/140/
  141. 141. Introduction au langage GREL Récupération et exploiter des données sur Internet : - API JSON - API XML - Page HTML Remarque: il est nécessaire d’utiliser Python dans Openrefine au lieu de GREL : - pour récupérer des données en utilisant le protocole POST - pour exploiter certaines données complexes après leur récupération 141/141/
  142. 142. Introduction au langage GREL Activité : récupérer la population des villes à partir de l’API https://geo.api.gouv.fr/ La syntaxe de l’API est https://geo.api.gouv.fr/communes?nom=NOMDECOMMUNE La réponse est en JSON : tableau de X villes dont le nom correspond à la requête, avec plusieurs propriétés pour chacune, dont population 142/142/
  143. 143. Introduction au langage GREL Activité : récupérer la population des villes à partir de l’API https://geo.api.gouv.fr/ 1re étape : Créer une colonne liste-urls contenant les URL Colonne villes > Éditer colonne > Ajouter une colonne en fonction de cette colonne Formule : "Racine_URL" + value Ou encore mieux (évite les erreurs en cas de caractère parasite): "Racine_URL" + value.escape(‘url’) 143/143/
  144. 144. Introduction au langage GREL 2e étape : Récupérer les données dans une colonne data Colonne liste-urls > Éditer colonne > Ajouter une colonne en moissonnant les URL 144/144/ Bug dans la version 2.7: décocher l’option « Mettre les réponses en cache » « conserver » pour repérer d’éventuelles erreurs de connexion
  145. 145. Introduction au langage GREL Résultat intermédiaire 145/145/
  146. 146. Introduction au langage GREL 3e étape : Exploitation des données : créer une nouvelle colonne à partir de data Colonne data > Éditer colonne > Ajouter une colonne à partir de cette colonne Formule : value.parseJson()[0]["population"] 146/146/
  147. 147. Introduction au langage GREL Résultat final 147/147/
  148. 148. Pour aller plus loin Documentation officielle  Site  Documentation (wiki) Quelques tutoriels et retours d’expérience  M. Bourdic, OpenRefine, "Excel aux hormones" pour nettoyage de données, 2017  A. Courtin, “Reconcilier” une liste de nom d’architectes avec Wikidata en utilisant OpenRefine, 2017  Karen H, Using OpenRefine to Reconcile Name Entities, 2017  Leçons du programme Library Carpentry. Open Refine for Librarians, 2016  Leçons du programme Data Carpentry, 2015 ; variante Open Refine for Ecology  T. Padilla, Getting Started with OpenRefine, 2015  S. van Hooland , R. Verborgh et M. De Wilde, Cleaning Data with OpenRefine, 2013  T. Hirst, Merging Datasets with Common Columns in Google Refine, 2011  A. Falcone, Google Refine CheatSheets, 2011 146/

×