4 Gestion des projets et import de données

4.1 Découverte de l’interface

Lancez OpenRefine

Modifiez la langue d’exécution d’OpenRefine (français)

4.2 Liste des projets

Projet = données + ensemble de traitements

Après une première installation, aucun projet visible.

Les projets peuvent être supprimés, décrits, tagués, réouverts, importés/exportés d’une instance d’OpenRefine à une autre projet.

Projetsf

4.3 Les différents types d’imports de données

CreerProjet

Import depuis un ou plusieurs fichiers, en ligne ou sur le PC

Il est possible de charger plusieurs fichiers. S’ils ont exactement la même structure (mêmes nombres et noms de colonnes), leur contenu sera mis bout à bout, avec une 1re colonne supplémentaire indiquant le nom du fichier correspondant à chaque ligne.

Il est possible de charger un ou plusieurs fichiers zippés dans une archive unique. OpenRefine les dézippera.

Import depuis un classeur Google doc

Fonction “Google Data” dans le menu.

Import depuis une base de données (MySQL/MariaDB, PostgreSQL, SQLite)

Ex : dans la base MySQL « testor » accessible sur ma machine, récupération de toutes les colonnes de la table websem_rdf en filtrant les lignes dont la colonne « predicat » comprend la valeur « “http://purl.org/dc/elements/1.1/date” »

Import depuis une base de données, étape 1

Import depuis une base de données, étape 2

Import possible de « Data packages » : format d’échange de données issu du monde de l’open data, associe données brutes et fichier de métadonnées en JSON

Voir https://frictionlessdata.io/data-packages/

Soit en ligne : indiquer l’URL du manifeste JSON du datapackage

Soit sur la machine : indiquer l’emplacement du fichier zip contenant le datapackage

Saisie manuelle ou collage depuis le presse-papier

Import depuis le presse papier

Cette fonction porte mal son nom: elle permet d’importer depuis le presse papier mais plus généralement de saisir directement des données.

4.4 Importer le fichier d’exercice

  • Charger dans OpenRefine

Activité :

Un groupe charge la version CSV, un autre la version XLSX du fichier téléchargé précédemment.

Utiliser les options d’import pour

  • faire le moins de modifications lors de l’import (conserver les lignes vides, vérifier l’affichage des caractères accentués, conserver le typage des données présent dans le fichier);
  • que les colonnes du projet reprennent le noms des colonnes du jeu de données (2e ligne du fichier).

Ecran d’import

Ecran d’import en 2 parties : aperçu des données + paramètres (choix du format + options du format)

Ecran d’import d’un fichier CSV

Les types de fichiers reconnus

  • CSV / TSV / separator-based files : Champs délimités par un séparateur
  • Line-based text files : Texte brut sans délimitation de champs
  • Fixed-width field text files : Champs de longueur fixe
  • PC-Axis text files
  • JSON files
  • MARC files : données bibliographiques
  • Web sémantique
    • JSON-LD files
    • RDF/N3 files
    • RDF/N-Triples files
    • RDF/Turtle files
    • RDF/XML files
  • Wikitext : Tableaux structurés selon la syntaxe Wikipedia
  • XML files
  • Tableurs
    • Open Document Format spreadsheets (.ods)
    • Excel files

Import de fichiers Excel (XLS, XSLX) ou Libreoffice (ODS)

Possibilité de sélectionner le ou les onglets dont les données doivent être importées.

Le typage des données (chaînes, nombres, dates, booléens) est conservé lors de l’import.

Bugs signalés (OR3.3) : import impossible des fichiers XLSX enregistés en “mode strict” dans Excel et certains fichiers ODS ; mauvaise prise en compte des dates.

Import de fichiers XML ou JSON

L’import de XML ou JSON est possible mais ne fonctionne bien qu’avec des fichiers à la structure simple, et le processus de conversion très gourmand en ressources.

“Structure simple” ? Ex : éléments répétés dont la structure interne est exactement semblable (mêmes champs, non répétés, ne contenant que des valeurs atomiques…).

<livre>
    <titre>A la recherche du temps perdu</titre>
    <auteur>Marcel Proust</auteur>
<livre>
<livre>
    <titre>Les mots</titre>
    <auteur>Jean-Paul Sartre</auteur>
</livre>

Au besoin, utiliser un convertisseur externe comme http://www.convertcsv.com/json-to-csv.htm, http://www.convertcsv.com/xml-to-csv.htm ou http://www.convertcsv.com/html-table-to-csv.htm, et injecter le csv dans OpenRefine.

Import de données dans des formats “sémantiques”

Tous les formats courants sont supportés mais résultat pas toujours facile à utiliser : pour chaque triplet, les sujets deviennent des lignes, les verbes des colonnes et les objets des valeurs au croisement d’une ligne et d’une colonne -> grand nombre de colonnes.

Import de données MARC (format ISO2709)

Possible mais sur de tout petits fichiers.

Privilégier une conversion en amont avec des outils comme MarcEdit

Privilégier les fichiers en texte brut

Quel que soit le format d’origine il est souvent préférable de faire une conversion en amont dans un format en texte brut (CSV ou similaire) pour accélérer l’import.

Inconvénient : le typage des données est perdu en CSV (on ne saura pas si 2019 est une date, un nombre ou un texte).

Paramètres d’import pour un CSV

Principaux paramètres d’import

Principaux paramètres d’import d’un fichier CSV

Les différents choix d’encodage

Exemple de différences d’encodage

Prudence avec la détection automatique des nombres et des dates !

Dans le doute, désactiver l’option.

  • 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 selon les pays…
    • 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 mais 3 février 1979 aux USA

Une fois les paramètres d’imports choisis, lancer l’import

Finaliser l’import

Remplacer l’espace entre le nom du fichier et son extension par un _