IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Formater des données en CSV


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut Formater des données en CSV
    Bonjour le monde,

    j'ai besoin d'écrire des propriétés d'une liste d'objets Words dans un fichier CSV.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
     
    import com.fasterxml.jackson.databind.ObjectWriter;
    import com.fasterxml.jackson.dataformat.csv.CsvMapper;
    import com.fasterxml.jackson.dataformat.csv.CsvParser;
    import com.fasterxml.jackson.dataformat.csv.CsvSchema;
     
    public class WordsToCvs {
     
    	public static void main(String[] args) {
     
    // Création d'une liste de mots.
    // Un mot est de la forme Word [id=1, word=mot1, language=en-gb, lexicalEntries=null, pronunciations=null, type=type1]
    		List<Word> words = new ArrayList<Word>();
    		WordsList wordsList = new WordsList("src/resources/listWords.txt");
    		wordsList.init();
    		wordsList.createListWords();
    		words = wordsList.getWords();
     
    // Création d'un schéma.
    		CsvSchema schema = CsvSchema.builder()
    				.addColumn("id")
    				.addColumn("word")
    				.addColumn("language")
    				.addColumn("type")
    				.build();
    		schema = schema.withColumnSeparator(';');
     
    // Création d'un mapper
    		CsvMapper mapper = new CsvMapper();
    		mapper.enable(CsvParser.Feature.WRAP_AS_ARRAY);
     
    // Ecriture du fichier CSV
    		ObjectWriter writer = mapper.writer(schema.withLineSeparator("\n"));
    		try {
    			writer.writeValue(new File("words.csv"), words);
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }
    Mais le compilateur me retourne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    com.fasterxml.jackson.dataformat.csv.CsvMappingException: 
    Unrecognized column 'lexicalEntries': known columns:
     ["id","word","language","type"] (through reference chain: java.util.ArrayList[0]->dictionary.Word["lexicalEntries"])
    Comment ne pas prendre en charge certains attributs du mot ?

  2. #2
    Membre confirmé Avatar de Badshade23
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2014
    Messages : 203
    Par défaut
    Salut,

    Il faudrait la class Word et WordsList pour pouvoir tester ton code et répondre à ta question.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Bah non la situation est claire.

    Ce qu'il faudrait pour aider c'est connaître comment Jackson gère le CSV.

    ... Ou plus simplement, ne pas utiliser Jackson et ses contraintes incessantes pour gérer du CSV.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [CSV] Format des données exportées dans Excel
    Par magsmile dans le forum Langage
    Réponses: 6
    Dernier message: 07/09/2007, 17h46
  2. Réponses: 2
    Dernier message: 30/10/2006, 22h14
  3. Requete : filtre selon format des données
    Par bogros dans le forum Access
    Réponses: 2
    Dernier message: 23/05/2006, 11h28
  4. Export excel format des données
    Par benazerty dans le forum Access
    Réponses: 2
    Dernier message: 20/04/2006, 13h40
  5. [format des données avec une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 10/03/2005, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo