Utilisation du plugin CSV_IMPORT

Comment devenir fainéant intelligemment ou comment importer un fichier CSV dans spip sans tout casser ?

Ce plugin va vous permettre d’importer et d’exporter les données de vos tables SPIP.

Après avoir longtemps cherché cette fonction c’est encore une fois IRC channel #spip qui est venu à mon secours, que je remercie en préambule => cy_altern, et sans qui je serais nul part ;-)

Avertissement : Ces explications se veulent les plus précises possibles, mais l’auteur ne saurait être tenu pour responsable en cas de mauvaise manipulation qui pourrait entrainer une perte des données de la base. Ayez dans tous les cas un dump sous la main, au cas où...

Matériel nécessaire

SPIP 1.9.2 avec les plugins

  • cfg : moteur de configuration, version : 1.7.5
  • CSVImport, version : 0.1

SPIP 2.0.0
A partir de SPIP 2.0, CSV Import requiert le plugin SPIP Bonux

-  Un fichier CSV ou autre fichier tabulaire avec les données à ajouter.

-  OpenOffice.org Calc.

Note : j’avais commencé avec Excel mais certaines fonctions n’existant pas ou ne sachant pas les utiliser..., je me suis rabattu sur OpenOffice.org Calc.

Note 2: dans la version pour SPIP 2, si l’on souhaite gérer aussi les tables des jointures (spip_auteurs_articles par ex), ajouter la ligne suivante dans le fichier mes_options.php du site:
$GLOBALS['csvimport_tables_jointures'] = true;

Installation et configuration du plugin

Après avoir récupéré le zip de CSV Import (http://files.spip.org/spip-zone/csv...), suivez la procédure standard d’installation / activation (cf la documentation officielle pour plus de détails).

L’exemple pris ici est l’importation d’articles, honnêtement je n’ai pas tout testé mais je suppose que le restant fonctionne également.

Rendez-vous sur l’icone “Edition”, sous menu “Import CSV”

Vous arrivez sur la page suivante, qui est presque vide d’ailleurs !

Cliquez sur “Administrez les tables”, une nouvelle page s’ouvre ayant cette allure-ci.

Puisque nous parlons d’articles ici et pour la bonne compréhension du tutoriel, je vous demande de cocher toutes les cases de la table “articles”, comme ceci. Si vous êtes intéressé par d’autres tables ou champs, la démarche devrait être la même il me semble.

Après avoir tout coché, il faut valider votre choix avec le bouton “Enregistrer” qui se trouve dans le bas de la page.

A ce stade un grand pas est déjà fait, mais courage nous ne sommes pas au bout de nos peines mais le jeu en vaut la chandelle...
Retournons sur “Import CSV”, nous avons à présent quelque chose de similaire. Les chiffres, dates et heures seront différents naturellement.

Pour continuer, nous allons exporter la structure cible d’ARTICLES en CSV pour choisir les champs d’importation.
Cliquez sur la droite “Télécharger”. Une nouvelle fenêtre s’ouvre.

Choisissez votre format et enregistrez le fichier sur votre disque dur.

Préparation du CSV

Lancez OpenOffice.org Calc

Cliquez sur “Fichier”, “Ouvrir”
Rendez-vous dans le dossier où vous avez sauvé le fichier précédemment.

Lors de l’ouverture il vous demande quelques précisions. Ici on renseignera le type de séparateur, ci-dessus j’avais choisi la virgule, pas de raison d’en changer, il reste à choisir le format du texte UTF-8 en l’occurrence.

Vous devez obtenir quelque chose de similaire.

Analysez bien la structure de votre tableau, c’est lui qui révèlera la forme et les champs à compléter. Il vous reste à compléter ou remplacer les colonnes, les lignes et les cellules afin de préparer le meilleur fichier CSV pour votre spip.

Importation des données dans le CSV

Ça y est vous avez vu à quoi ressemble une table Spip, il vous reste à “copier/coller” les données que vous voulez ajouter dans la table “articles”.

Ici pour l’exemple, le surtitre est le titre de l’article en anglais: le titre est le titre de l’article avec un numéro d’ordre, et le sous-titre est le titre de l’article en néerlandais, mais tout est possible.

Remarques :
-  Vous avez intérêt à remplir un maximum de champs, attention néanmoins à respecter les formats initiaux, ainsi que les automatismes d’incrémentations et autres.
-  Ce qui est à éviter absolument c’est d’indiquer des références qui n’existent pas... par exemple rubrique 4 alors qu’elle n’existe pas ou pas encore...
-  Il est naturellement possible de pousser le vice encore plus loin, avec par exemple pour classer vos titres d’articles par num_titre, de concaténer par exemple : =CONCATENER(A7;“.”;D7) dans votre tableur préféré pour obtenir un champ 01. Mon premier titre. Je laisse à votre imagination le moyen de devenir encore plus fainéant que moi à l’aide de toutes les fonctions disponibles dans votre tableur.

Exportation des données

Voici votre fichier CSV bien complété et prêt à être exporté à son tour.

Dans OpenOffice.org Calc, cliquez sur “Fichier”, “Enregistrer sous” et choisissez Type “.CSV” et cochez la case “éditez les paramètres de filtre” et précisez l’endroit de sauvegarde.

Vous arriverez alors sur un autre écran.

Encore une fois, choisissez bien les différentes options, ici en l’occurrence, Jeux de caractère : “UTF-8”, séparateur “,”. ET validez sur “OK”.

Votre fichier a été créé et est stocké sur votre disque dur.

Importation dans SPIP

Rendez-vous dans votre spip.
Retournons sur “Import CSV”.

Cliquez sur la gauche ici “spip-articles”. Une nouvelle fenêtre s’ouvre.

Indiquez où se trouve votre fichier CSV. Cliquez sur “valider”

Importation des données

A ce stade vous êtes prêt à importer mais l’importation n’a pas encore eu lieu.
Vous devez avoir un écran similaire.

Dans cette page vous pouvez encore préciser plusieurs choses, faire correspondre des champs, ... en principe votre fichier était bien préparé donc pas de raison de modifier quoi que ce soit !
Il vous reste à choisir “Ajouter” ou “Remplacer la table”

Et hop, chez moi cela a “encodé” 250 articles d’une carte d’un restaurant chinois, avec les numéros et les traductions en 3 langues sans parler des termes techniques.

J’ai “nem” plus peur d’entrer des données tabulaires dans spip :-)

updated on 2 October 2019

Discussion

44 discussions

  • Bonjour,

    Est-ce que ce plugin pourrait être utilisé pour ajouter environ 150 utilisateurs sur une nouvelle installation de SPIP sans devoir les entrer à la main?

    Si tel est le cas, je serais le plus heureux du monde!!! ;)

    Merci de vos réponses.

    Cordialement,
    Sploutch

    Reply to this message

  • Bonjour à tous...

    J’adore ce plugin! Je l’utilise depuis bientôt un an mais, maintenant, j’ai un problème!

    En effet, dans la précédente version du plugin, on disposait du nom des champs csv, lorsqu’on importait des données. On pouvait, ainsi, faire correspondre, facilement, les champs de la table avec les champs csv, en se basant sur le nom des champs.

    Dans la nouvelle version du plugin, les champs du fichier csv sont remplacés par des nombres... Ce qui fait qu’on importe, à l’aveugle, (ou presque). En tout cas, c’est moins pratique, pour moi, qui ai 33 champs dans ma table articles et dans mon fichier csv.

    J’avais déjà observé ce problème avec cette version spip2 mais, jusqu’ici, j’utilisais la version 2.0.0.9 de spip, qui me donnait l’opportunité de travailler avec la version 1.9 du plugin, qui ne présente pas cette configuration. Depuis la 2.0.10, la version 1.9 du plugin renvoie une erreur. Sur la nouvelle version 2.1 de spip, sur laquelle j’essais de migrer, on retrouve aussi cette erreur donc, seule la version 2 du plugin est utilisable avec ces versions de spip.

    Comment puis-je faire pour remplacer les nombres (qui correspondent aux champs csv), par la valeur de la première ligne de chaque colonne du csv?

    Je vous remercie infiniment pour votre aide... Je suis un peu bloqué, là... Je dois mettre à jour, avant mardi, un peu plus de 1000 articles...

    Reply to this message

  • Deuxième question : Pourquoi n’y a-t-il pas de table spip_auteur_article ? Alors qu’il y a spip_auteur_rubrique ?

    Reply to this message

  • Je me casse la tête...

    J’ai fait un essai (je suis sous spip 2.0.0.10) avec un seul article à importer.

    Le fichier a l’air bon mais il me propose d’ajouter 2 lignes avec en premier la ligne des titres et si je vais jusqu’au bout il ne me rajoute en article que la ligne de titre des champs.

    Je ne comprends pas. Repris à plusieurs reprises sans succès.

    Aidez-moi, s’il vous plaît !!! Je voulais importer 1200 articles !

    Reply to this message

  • Soucis !!!

    L’install du plug et de spip bonus sur un spip 2.0.10 propre Sans aucun soucis avec toutes les fonctionnalités !

    LA meme install sur un spip 2.0.10 provenant d’une migration d’un Spip 1.9.2 me donne un essage suivant , quand je vais sur la page “Administrer les tables”

    Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 3.0\www\bcamille\plugins\auto\csv_import_2_0\exec\csvimport_admin.php  on line 116

    Reply to this message

  • A quoi servent les champs de saisie au dessus de la presentation de chaque table ?

    Peut etre comme evolution possible il serait interessant par exemple de pouvoir par ce procédé recupérer les article de la rubique “X” uniquement

    Cordialement

    Eric

    Reply to this message

  • 1

    Bonsoir un ptit soucis avec ce plug installé comme il se doit.

    Spip 2.0.10

    Pas de soucis pour l’export de la table article, qui va me servir de modele de structure pour l’import de données, venant d’une base Spip 1.9.2i

    Je fais mon “Mix” entre les deux bases sur la structure Spip 2.0.10 et j’enregistre en CVS

    Quand je retourne sur mon Spip 2.0.10 (en suivant les explications) je ne vois pas ma page de la même façon que sur l’image 12, à savoir celle qui est juste sous le titre “Importation dans SPIP”, j’ai juste la partie haute de cette image Avec le raccourcis “Administrer les tables” à gauche et sur la droite “Tables déclarées” (Image jointe).
    Où ? Mais où j’ai foiré ?

    Si vous avez un piste, une boussole, quelques petits cailloux blancs pour me guider je suis preneur !!!

    Cordialement à vous

    Eric

    • Réponse à moi meme

      Bien que pas indiqué dans la notice, il suffit de decocher “Exporter” et “Tout remplacer” sur la page “Administrer les tables”

      La nuit porte conseil dit on ???

      Cordialement

    Reply to this message

  • Bonjour,

    Est ce que la démarche est la même si je veux importer dans un article déjà créé un fichier csv pour renseigner un tableau dans le champ texte ?
    Cordialement,

    Reply to this message

  • bonjour, pour ma part, sous SPIP 2.0, je ne parviens pas à utiliser le plugin, car bien il ne semble reconnaître que la virgule comme séparateur et non le point virgule...

    Reply to this message

  • François Daniel Giezendanner

    Bonjour,

    Nous souhaiterions utililiser ce plugin pour importer un thésaurus de mots-clés sous SPIP 2, cela signifie deux conditions à savoir, le plugin CSV_IMPORT :

    • permet-il de le faire en SPIP 1.9.2 ?
    • sera-t-il prochainement adapté pour SPIP 2 ?

    Meilleurs messages

    FDG

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom