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

Java Discussion :

CSV : Stocker le N° de Ligne + n° colonne + occurence trouvée (pour le réutiliser + tard)


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2022
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2022
    Messages : 43
    Points : 24
    Points
    24
    Par défaut CSV : Stocker le N° de Ligne + n° colonne + occurence trouvée (pour le réutiliser + tard)
    Bonjour les Expert Java ,

    Je recherche comment récupérer le N° de Ligne + occurence trouvée dans un fichier CSV.

    J'ai fait ceci :
    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
     
     
    //Variables
    String path = "C:\\Users\\soukna\\Desktop\\Nickel\\BADIR\\Fichiers\\";
    String file1 = "11299.FR.ISIE.AUTRES.ZXIH.SALES.csv";
    String file2 = "3260.FR.ISIE.AUTRES.ZXIH.SALES.csv";
    String file3 = "Out_ComparisonOnFile_B.csv";
    ArrayList al1 = new ArrayList();
    ArrayList al2 = new ArrayList();
    //ArrayList al3=new ArrayList();
    BufferedReader BRFile1 = new BufferedReader(new FileReader(path+file1));
    String dataRow1 = BRFile1.readLine();
    BufferedReader BRFile2 = new BufferedReader(new FileReader(path+file2));
    int i,j,k,m;
     
    i=0;// pour récupérer la ligne
    j=0;// pour récupérer le n° de colonne de l'occurence 
    //println("------------------------------------------------------------------ FILE B : DEBUT 1er Traitement ------------------------------------------------------------------");
    while (dataRow1 != null){
    	//println("While Loop ="+i)
    	String[] dataArray1 = dataRow1.split(",");
    	for (String item1 : dataArray1){
    		//println("For Loop = "+j)
    		//println("item "+j+": "+item1);
    		al1.add(item1);
    		j++;
    	}
    	dataRow1 = BRFile1.readLine(); //Read next line of data.
    	i++;
    	println("n°ligne: "+i)
    }
    BRFile1.close();
    //println("------------------------------------------------------------------ FILE B : FIN 1er Traitement ------------------------------------------------------------------");
    Ici, je récupère bien le numéro de ligne mais je souhaite le stocker avec la ligne, la colonne de l'occurence et l'occurence.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    Résultat en sortie :
     
    [1][1][titi]
    [1][2][tata]
    [1][3][toto]
    ...
    [2][1][michel]
    [2][2][mohamed]
    [2][3][ludivine]
    Merci pour votre retour

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2022
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2022
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    y'a plus personne ?

    c quand même assez simple pour des experts Java

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Peut être que ta demande n'est pas claire, d'ou y'a personne ?

    Tu devrais peut être songer a créer un objet qui va contenir la ligne, la colonne de l'occurence et l'occurence. A la place de stocker juste un string avec l'occurence toute seule.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2022
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2022
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Peut être que ta demande n'est pas claire, d'ou y'a personne ?

    Tu devrais peut être songer a créer un objet qui va contenir la ligne, la colonne de l'occurence et l'occurence. A la place de stocker juste un string avec l'occurence toute seule.
    Merci Wax78;
    J'étais en train de me dire que Developpez.net c foutu ouff

    J'ai réussi à trouver par moi-même sans création d'objet :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
    import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
    import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
    import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
    import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
    import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
    import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
    import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
    import com.kms.katalon.core.model.FailureHandling as FailureHandling
    import com.kms.katalon.core.testcase.TestCase as TestCase
    import com.kms.katalon.core.testdata.TestData as TestData
    import com.kms.katalon.core.testng.keyword.TestNGBuiltinKeywords as TestNGKW
    import com.kms.katalon.core.testobject.TestObject as TestObject
    import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
    import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
    import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
    import internal.GlobalVariable as GlobalVariable
    import org.openqa.selenium.Keys as Keys
    import java.io.*;
    import java.util.ArrayList;
     
    /* file1 - file2 = file3*/
     
    //Variables
    String path = "C:\\Users\\soukna\\Desktop\\Nickel\\BADIR\\Fichiers\\";
    String file1 = "11299.FR.ISIE.AUTRES.ZXIH.SALES.csv";
    String file2 = "3260.FR.ISIE.AUTRES.ZXIH.SALES.csv";
    String file3 = "Out_ComparisonOnFile_B.csv";
    ArrayList al1 = new ArrayList();
    ArrayList al2 = new ArrayList();
    //ArrayList al3=new ArrayList();
    BufferedReader BRFile1 = new BufferedReader(new FileReader(path+file1));
    String dataRow1 = BRFile1.readLine();
    BufferedReader BRFile2 = new BufferedReader(new FileReader(path+file2));
    int numLigne,i,j,k,m;
     
    numLigne = 0;
    i=1;// pour récupérer la ligne
    j=1;// pour récupérer le n° de colonne de l'occurence 
    //println("------------------------------------------------------------------ FILE B : DEBUT 1er Traitement ------------------------------------------------------------------");
    while (dataRow1 != null){
    	//println("While Loop ="+i)
    	String[] dataArray1 = dataRow1.split(",");
    	for (String item1 : dataArray1){
    		//println("For Loop = "+j)
    		//println("item "+j+": "+item1);
    		al1.add("L"+i+"_"+"C"+j+"_"+item1);
    		j++;
    	}
    	dataRow1 = BRFile1.readLine(); //Read next line of data.
    	i++;
    	numLigne = i-1;
    	println("nbre ligne 1er fichier: "+numLigne);
    }
    BRFile1.close();
    //println("------------------------------------------------------------------ FILE B : FIN 1er Traitement ------------------------------------------------------------------");
     
    String dataRow2 = BRFile2.readLine();
    i = 1;
    j = 1;
    numLigne = 0;
    //println("------------------------------------------------------------------ FILE A : DEBUT 1er Traitement ------------------------------------------------------------------");
    while (dataRow2 != null){
    	//println("While Loop ="+i)
    	String[] dataArray2 = dataRow2.split(",");
    	for (String item2 : dataArray2){
    		//println("item "+j+": "+item2);
    		al2.add("L"+i+"_"+"C"+j+"_"+item2);
    		j++;
    	}
    	dataRow2 = BRFile2.readLine(); //Read next line of data.
    	i++;
    	numLigne = i-1;
    	println("nbre ligne 2eme fichier: "+numLigne);
    }
    BRFile2.close();
    //println("------------------------------------------------------------------ FILE A : FIN 1er Traitement ------------------------------------------------------------------");
     
    k = 0; // pour récupérer le n° de colonne de l'occurence supprimée
    //println("------------------------------------------------------------------ REMOVE DEB ------------------------------------------------------------------");
    for (String bs:al2){
    	//println("k= "+k+"_"+"bs= "+bs);
    	al1.remove(bs);
    	k++;
    }
    //println("------------------------------------------------------------------ REMOVE FIN ------------------------------------------------------------------");
    //System.out.println(size);
     
    //println("------------------------------------------------------------------ DEB DERNIER TRAITEMENT (écriture dans le fichier de sortie) ------------------------------------------------------------------");
    try{
    	FileWriter writer = new FileWriter(path+file3);
    	for(m = 0 ; m < al1.size(); m++){
    		writer.append(""+al1.get(m));
    		println("Différence constaté = "+al1.get(m));
    		writer.append('\n');
    	}
    	writer.flush();
    	writer.close();
    //println("------------------------------------------------------------------ FIN DERNIER TRAITEMENT ------------------------------------------------------------------");
     
    }catch(IOException e){
    	e.printStackTrace();
    }
    En espérant que cela aide qlq1 à l'avenir.

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Pas de souci, content que tu ais trouvé une solution.

    Bonne journée.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/03/2018, 20h03
  2. Remettre des lignes en colonnes puis Passer du .txt vers excel ou .csv
    Par Debutant10 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/07/2012, 18h05
  3. [PERL] Normaliser un fichier csv : de lignes en colonnes
    Par nicolep dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 25/11/2008, 14h09
  4. Demande de conseil pour migration de lignes vers colonnes
    Par ririd dans le forum Administration
    Réponses: 6
    Dernier message: 04/11/2004, 17h02
  5. [TSynMemo] Positionnement par ligne et colonne
    Par Mercilius dans le forum Composants VCL
    Réponses: 9
    Dernier message: 16/04/2003, 16h22

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