SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 215 visiteurs en ce moment

Accueil > Administration et BDD > Import-Export > CSV Import > Utilisation du plugin CSV_IMPORT

Utilisation du plugin CSV_IMPORT

31 mai 2008 – par Paulbe – 83 commentaires

22 votes

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).

JPEG - 29.6 ko

L’exemple pris ici est l’importation d’article, 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 »

JPEG - 20.8 ko

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

JPEG - 22.9 ko

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

JPEG - 101.4 ko

Puisque nous parlons d’article 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.

JPEG - 63.4 ko

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

JPEG - 3.2 ko

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.

JPEG - 41.5 ko

Cliquez sur la droite « Télécharger ». Une nouvelle fenêtre s’ouvre.

JPEG - 8.2 ko

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.

JPEG - 80.5 ko

Vous devez obtenir quelque chose de similaire.

JPEG - 14.3 ko

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 ».

JPEG - 8.2 ko

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.

JPEG - 35.1 ko

Vous arriverez alors sur un autre écran.

JPEG - 54.1 ko

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 ».

JPEG - 41.5 ko

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

JPEG - 56.7 ko

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.

JPEG - 78.9 ko

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 »

JPEG - 14.6 ko

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 :-)

Voir en ligne : http://plugins.spip.net/csvimport

Dernière modification de cette page le 27 juin 2014

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 1er janvier à 19:23, par Fennec72 En réponse à : Utilisation du plugin CSV_IMPORT

    Bonsoir et bonne année.

    Que manque-t-il pour la compatibilité de CSV_IMPORT avec spip 3.1 ?

    Merci d’avance

    • Le 2 janvier à 12:27, par Mist. GraphX En réponse à : Utilisation du plugin CSV_IMPORT

      pareil, certainement que quelqu’un mette a jour la borne dans le paquet ;-)

    • Le 2 janvier à 20:20, par Pierre KUHN En réponse à : Utilisation du plugin CSV_IMPORT

      Fennec72 pourquoi ne pas tester et revenir dire si il est compatible ?

    • Le 8 janvier à 01:11, par ivandps En réponse à : Utilisation du plugin CSV_IMPORT

      Bonjour, impossible d’installer le plugin dans un SPIP 3.1.0-rc3

    • Le 25 mai à 11:00, par Sylvain Nogues En réponse à : Utilisation du plugin CSV_IMPORT

      Je l’ai installé en 3.1 en modifiant la borne, pas trouvé de problème particulier.
      Sauf le bug des apostrophes qui n’est pas résolu.

      Il paraît que ce serait bien de brancher le plugin sur les fonctions csv du core, si quelqu’un sait faire...

    • Le 30 novembre à 08:56, par philippe paille En réponse à : Utilisation du plugin CSV_IMPORT

      bonjour
      Pour moi sous SPIP 3.1.3
      Je peux faire uniquement des exports.
      Je n’ai pas les liens actifs pour faire des imports.

    Répondre à ce message

  • Le 24 octobre 2011 à 15:05, par jacangers En réponse à : Utilisation du plugin CSV_IMPORT

    bonjour

    ce plug in est vraiment génial. Par contre j’ai moi aussi un probleme avec le caractère d’échappement ; qui insere systématiquement \ quand il trouve une apostrophe ou un guillement dans mes texte.

    par exemple je me retrouve avec

    d\’eau au lieu de d’eau

    comment faire ?

    • Le 1er décembre 2011 à 16:47, par linuxien masqué En réponse à : Utilisation du plugin CSV_IMPORT

      Bonjour,

      J’ai modifié le plugin pour éviter d’avoir des anti-slash devant les apostrophes, le plugin est pas dispo sur le svn de spip, sinon cela m’aurais donné l’occasion de demander mes identifiants sur spip-zone ( après avoir demandé à l’auteur s’il trouvait pertinent ces modifications ).

      Vers la fin du fichier ligne inc\csvimport.php ligne 567

                      foreach($data as $key=>$ligne)
                      {
                              $count_lignes ++;
                             
                              $check = array_flip($tablefield);

                              $champs = "";
                              $valeurs = "";

                              foreach($check as $key=>$value){
                                      $kc = csvimport_nettoie_key($key);
                                      if ( (isset($assoc[$kc])) && (isset($ligne[$assoc[$kc]])) )
                                      {
                                              $champs .= $assoc[$kc].',';
                                              $valeurs .= '"'.$ligne[$assoc[$kc]].'",';
                                              unset($check[$key]);
                                      }
                               } // (FIN foreach)
                             
                              if ( (isset($stamp)) && isset($check[$stamp]) ){
                                      $what[$stamp] = date('Y-m-d H:i:s');
                              }
                              // Suppression virgule finale
                              $champs = substr($champs, 0, -1);
                              $valeurs = substr($valeurs, 0, -1);

                              if (!empty($valeurs) && !empty($champs))
                              {
                                      $id_primary= sql_insert($table, "($champs)", "($valeurs)" );
                     
                                      // SI id = 0 (Erreur d'insertion) ...
                                      if ($id_primary==0) {
                                              $apercu = couper(print_r($valeurs,true), 150, ' ...'); // Petit aperçu de la valeur (150 caractères)
                                              $erreur[$count_lignes][] = "Ajout impossible ! :: $apercu ";       
                                      }
                                             
                              } else {
                                      $erreur[$count_lignes][] = "Rien à ajouter ! ";
                              }
                             
                      }// (FIN foreach)

      Si vous testez avec ce nouveau code, merci de faire un retour ici.

      Le Linuxien masqué

    • Le 13 mai à 09:43, par Jean-Momo En réponse à : Utilisation du plugin CSV_IMPORT

      Bonjour,

      J’ai toujours les apostrophes précédés d’un slash sur la version la plus récente

      Est-ce que quelqu’un est en mesure de corriger cela dans le plugin ?

      Merci d’avance

    • Le 25 mai à 10:50, par Sylvain Nogues En réponse à : Utilisation du plugin CSV_IMPORT

      Il me semble qu’on peut contourner le bug en utilisant un filtre « stripslashes » à l’affichage des champs issus de l’import.

    • Le 29 août à 13:46, par Anna En réponse à : Utilisation du plugin CSV_IMPORT

      linuxien masqué j’ai testé ton code ça a l’air de fonctionner

      5 années après ton post il y a encore le bug dans le plugin lol

    Répondre à ce message

  • Le 14 septembre 2011 à 16:09, par jeromelt En réponse à : Utilisation du plugin CSV_IMPORT

    Jointures,

    si dans spip 2.1.x.... on active les jointure dans options.php, comment fait on ensuite pour s’en servir ?

    je voudrais ajouter aux articles que je veux ajouter par ce biais des mots clés ainsi qu’un auteur

    le fait d’ajouter cette instruction dans mes options ne change rien à l’interface

    merci

    • Le 13 mai à 09:44, par Jean-Momo En réponse à : Utilisation du plugin CSV_IMPORT

      Même chose, j’aimerais bien trouver un exemple avec la liaison des mots clés

    Répondre à ce message

  • Le 1er février à 22:08, par DD En réponse à : Utilisation du plugin CSV_IMPORT

    Hello,
    Bien pratique ce plugin

    Sur la page /ecrire/ ?exec=csvimport_tous
    il y a un lien en bas « Créer un nouveau formulaire »
    vers
    /ecrire/ ?exec=forms_edit&new=oui&type_form=table&retour=.%2F%3Fexec%3Dcsvimport_tous

    Je ne comprends pas bien ce que cela permet de faire.

    SPIP 3.0.1

    Merci
    dd

    Répondre à ce message

  • Le 14 janvier à 07:04, par Sylvain Nogues En réponse à : Utilisation du plugin CSV_IMPORT

    Bonjour,
    merci pour ce plugin bien utile.
    Il y a un souci lorsqu’on importe des données pour un plugin issu de la fabrique : lorsque la table à remplir évolue dans sa structure (ajout de champ), CSV_import ne prend pas en compte ces modifications. Même si on désactive, et même si on réinstalle CSV_import.
    Il me semble qu’il y a des meta qui ne sont pas vidées en sortant, non ?
    MErci,
    Sylvain

    • Le 14 janvier à 07:43, par Sylvain Nogues En réponse à : Utilisation du plugin CSV_IMPORT

      Bon, désolé, en fait ma table n’avait pas été modifiée, csv_import ne pouvait donc pas voir de diffférence...
      Il faut réinstaller le plugin de la fabrique pour que ses différences soient prises en compte.

      Mais quand même, les metas ne sont pas supprimées à la suppression du plugin csv_import.

    Répondre à ce message

  • Le 22 juillet 2015 à 16:02, par Personne En réponse à : Utilisation du plugin CSV_IMPORT

    Bonjour,

    J’obtiens une erreur « Ligne 2 : : Fichier vide » lorsque j’essaie d’importer un fichier CSV dans la base de données. À quoi est-ce dû ?

    Merci d’avance pour votre aide !

    Répondre à ce message

  • Le 25 avril 2014 à 12:24, par isaweb En réponse à : Utilisation du plugin CSV_IMPORT

    Bonjour,
    Intéressant ce plugin.
    J’aurais toutefois quelques questions :
    -  est-ce qu’on pourrait envisager une évolution vers une restriction de l’importation à une rubrique par exemple ? Parce que c’est un peu délicat, il me semble pour mon cas, de devoir manipuler la totalité des articles d’un site juste parce qu’une rubrique est à mettre à jour.
    -  qu’entendez-vous par « Ajouter » : est-ce que les données modifiées sur un id-article seront prises en compte et remplacées dans la table ou est-ce que ces changements seront ignorés ? Parce que j’imagine que dans le fichier importé, il y aura de nouvelles lignes et des lignes qui auront été modifiées. Est-ce que la procédure compare chaque champ de la table spip_articles et remplace les anciens contenus par de nouveaux ?
    J’ai un gros site avec beaucoup beaucoup d’articles, je voudrais pas que mon rédacteur le mette en vrac avec une mauvaise manip. Mais je n’ai peut-être pas tout compris.
    Merci pour vos conseils.

    • Le 28 avril 2014 à 19:29, par isaweb En réponse à : Utilisation du plugin CSV_IMPORT

      Question subsidiaire : à quoi servent les champs de saisie vides dans la page Administrez les tables ?
      Merci.

    • Le 31 juillet 2014 à 13:10, par DD En réponse à : Utilisation du plugin CSV_IMPORT

      D’après le code source tu peux y indiquer le titre personnalisé de ton fichier d’export (est ajouté au nom de fichier exporté)

      dd

    • Le 13 août 2014 à 13:46, par isaweb En réponse à : Utilisation du plugin CSV_IMPORT

      Merci pour ta réponse DD :-)

    • Le 23 octobre 2014 à 13:40, par Julien En réponse à : Utilisation du plugin CSV_IMPORT

      Même besoin !

      J’ai aussi un gros site a gérer ou seul certaines rubriques requiert des mise à jours. Restreindre l’importation à une rubrique serait vraiment top !

    Répondre à ce message

  • Le 10 octobre 2013 à 06:23, par YannX En réponse à : Utilisation du plugin CSV_IMPORT

    Ce plugin est hyper-utile : merci !

    Mais à l’usage (avec ses surprises), j’ai rencontré certaines difficultés ; déjà, comme dit dans d’autres commentaires, ré-exporter le (même) fichier CSV avec LibreOffice pluot qu’avec Excel élimine certains soucis....

    Et puis, en utilisation courante, j’ai rencontré plusieurs fois le même souci : impossible de recharger la valeur du champ « id_xxx » si le nom de colonne n’est pas identique au nom de clé SPIP ; changer le nom de la première colonne pour y mettre le bon libellé « id_xxx » et tout marche !?

    J’aurais une suggestion, concernant le statut (issu de la fabrique) :
    -  soit il faut penser à créer une colonne y contenant une valeur correcte ’prepa’ ou ’publie’,
    -  soit il serait préférable d’y balancer une definition par defaut surchargeant celle initiale à ’0’

    D’autre part, l’insertion des dates peut poser souci, selon le format d’exportation inscrit dans le CSV : une idée..... utiliser la facilité de ’normaliser’ que Rasta m’a fait découvrir dans verifier ?

    @+
    YannX

    • Le 8 avril 2014 à 10:02, par mirobolus En réponse à : Utilisation du plugin CSV_IMPORT

      J’ai testé l’import d’articles : la solution de mettre le statut à 0 par défaut n’est pas très pratique : en effet, mes nouveaux articles n’apparaissent pas en partie privée, les rédacteurs ne peuvent donc pas les manipuler pour modifier leur statut. Pourquoi ne peut-on pas importer le statut en mode ’prepa’ par exemple ? j’ai peut-être loupé une discussion à ce sujet ? Cette option n’est pas proposée dans la liste des champs (Spip 3 et dernière version du plugin). Merci.

    Répondre à ce message

  • Le 7 avril 2014 à 18:14, par mirobolus En réponse à : Utilisation du plugin CSV_IMPORT

    Je m’apprête à installer ce plugin mais j’ai une petite question : que se passe-t-il si le fichier importé comporte à la fois des éléments déjà présents dans la table et des lignes nouvelles ?
    Est-ce qu’il va laisser intacts les articles présents sur le site et seulement y ajouter les nouveaux ?
    Merci.

    Répondre à ce message

  • Le 22 février 2013 à 17:23, par aya En réponse à : Utilisation du plugin CSV_IMPORT

    Pour spip 3 en changeant sur la ligne 637 du fichier « csvimport_import.php » dans le répertoire exec
    icone_inline() par icone_verticale(), ca marche chez moi

    • Le 7 mai 2013 à 00:15, par Dorch En réponse à : Utilisation du plugin CSV_IMPORT

      Je viens de faire un commit sur la zone avec ces modifications pour rendre le plugin compatible SPIP3.

      La mise en page de la page d’administration des tables n’est pas top en spip 3 (désolé ça dépasse mes compétences) mais ça reste fonctionnel.

      J’ai vite fait testé les modifs sous SPIP 2.1 et SPIP 3 et je crois n’avoir rien cassé. Dites-moi si vous voyez quelque chose.

    • Le 10 février 2014 à 16:39, par obiwanriko En réponse à : Utilisation du plugin CSV_IMPORT

      Bonjour
      je suis intéressé par ce plugin. où peut-on trouvé ce plugin pour SPIP 3 ? En zip ?
      PS : je peux pas utiliser la zone et le SVN : bloqué par ma DSI qui interdit également le rapatriement de fichier via clef USB :-(

    • Le 10 février 2014 à 23:19, par Dorch En réponse à : Utilisation du plugin CSV_IMPORT

      @obiwanriko Euh... On peut le trouver en cliquant sur le lien en haut de la page ? :-P

    • Le 11 février 2014 à 10:28, par obiwanriko En réponse à : Utilisation du plugin CSV_IMPORT

      oupsss merci. J’avais pas lu les compatibilités juqu’au bout.... J’avais vu que spip 2... lol
      Sinon avez-vous déjà entendu que l’on peut utiliser ce plugin pour importer des données dans des champs d’articles créés avec le plugin « Champs extra » ?

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Acces Restreint 3.0

    11 décembre 2008 – 784 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Champs Extras 3

    16 janvier 2012 – 538 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Réservation d’événements

    16 mars 2015 – 190 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • Les crayons

    23 avril 2008 – 815 commentaires

    Ce plugin permet d’éditer les contenus sur les pages publiques du site, sans passer par l’espace privé de SPIP.

  • LESS pour SPIP : Less-CSS (anciennement LESSpip)

    5 novembre 2010 – 43 commentaires

    Less-CSS (Anciennement LESSpip) est un plugin intégrant facilement le logiciel LESS dans SPIP. LESS est une extension de CSS ajoutant les variables, les classes, les opérations, les imbrications au langage. Facilitant ainsi l’écriture de (...)

Ça spipe par là