PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Dimitri Robert : Scribus : importer un tableau au format CSV

mardi 27 février 2018 à 08:27

On ne peut pas dire que les tableaux soient bien gérés dans Scribus, on pourrait même dire que c’est une plaie. Quant à importer un tableau depuis un tableur, ce n’est simplement pas à l’ordre du jour…

Une gestion insatisfaisante

Actuellement (version 1.4) un tableau n’est autre qu’un groupe de cadres de texte. Une fois créé, vous ne pouvez ajuster la taille des lignes et des colonnes, vous ne pouvez appliquer de style sur les cellules. La saisie dans une cellule est rendue complexe par le groupe : il faut double-cliquer en pressant la touche Alt pour modifier le contenu d’une cellule.

La version 1.5 (version de développement de la future version stable) propose un nouvel outil de création de tableaux. Il y a même la possibilité d’appliquer des styles sur les cellules et le tableau, mais le peu de paramètres disponibles actuellement rend cette fonction inutile. De toute manière, toujours pas de possibilité d’importer un tableau, il faut le rédiger dans Scribus.

On trouve des tutoriels évoquant la possibilité d’exporter un tableau sous forme d’image vectorielle depuis un tableur comme LibreOffice Calc. Mais le tableau ainsi inséré n’est pas modifiable, y compris au niveau du style. De plus, impossible d’insérer un tableau qui s’étendrait sur plusieurs pages.

Prendre le taureau par les cornes

J’ai donc tenté de résoudre ce problème en vue d’une formation avec des archéologues, qui insèrent de longs tableaux dans leurs rapports. Je suis parti du script importcsv2table.py fourni avec Scribus qui permet d’importer un tableau au format CSV. Le comportement de ce dernier ne me convenait pas et les questions posées étaient trop simplistes. Par exemple, il ne demande pas le caractère de séparation, ce qui est la base du format CSV.

Le format CSV (pour Comma-separated values) permet de représenter un tableau sous forme de valeurs séparées par des virgules (ou d’autres caractères, absents des valeurs). Chaque ligne du texte correspond à une ligne du tableau et les virgules correspondent aux séparations entre les colonnes.

Le script ainsi produit peut être téléchargé ici : importcsv2table.py. Vous devrez ensuite le copier dans un dossier où vous rangez vos scripts pour Scribus : dans votre profil Scribus vous avez un sous-dossier plugins. Ce n’est qu’un exemple, vous pouvez en choisir un autre, du moment que vous le déclarez dans les préférences de Scribus.

Pour le tutoriel vidéo présenté ci-dessous, j’ai utilisé un grand tableau de données issues du site Etalab qui recense les lieux de tournages de films dans Paris. Je l’ai un peu épuré et n’ai gardé que 7 colonnes et 139 lignes, mais ce n’est qu’un exemple, je voulais un tableau avec beaucoup de lignes.

Voici comment l’utiliser en vidéo.

Préparation

Utilisez le script

S’ensuit une série de questions (je compte regrouper toutes ces fenêtres en une seule à terme).

Patientez, le script travaille.

Affinez

Traitez les autres pages

Certes, ce n’est pas encore aussi facile que dans d’autres logiciels, mais ce script permet de faire le travail proprement. À noter qu’il fonctionne toujours dans Scribus 1.5 .Malheureusement, il n’est toujours pas possible d’utiliser les nouveaux tableaux dans un script Python, je lance donc un appel du pied !

Cet article Scribus : importer un tableau au format CSV est publié sous licence CC By-SA 4.0 par Dimitri Robert sur Formation logiciel libre - Reprenez le contrôle de votre informatique !.

Gravatar de Dimitri Robert
Original post of Dimitri Robert.Votez pour ce billet sur Planet Libre.